更新时间:2020-02-13 20:08
阿里云短视频SDK编辑模块提供了视频特效的编辑能力。具备滤镜、音乐、动图、字幕、MV、音效、特效、变速、转场、涂鸦等视频编辑功能。开发者可以通过简单的几步快速让自己的App拥有专业视频编辑的能力,还可以通过配置文件个性化定制视频编辑页面的UI风格。同时,您也可以参考Demo,使用SDK深度定制属于您自己的编辑模块。
tips:编辑功能只支持标准版&专业版并且集成步骤一致,功能通过License控制。
创建示例工程SVideoEditorDemo。
名称 | 作用 | 是否必须 |
---|---|---|
AliyunSVideoBase | 短视频基础包 | 是 |
AliyunSvideoMusic | 短视频音乐控件 | 是 |
AliyunEditor | 编辑模块ui和功能实现模块 | 是 |
AliyunCrop | 裁剪ui模块 | 是 |
AlivcMedia | 媒体资源选择库 | 是 |
AliyunFileDownLoader | 资源数据库和下载模块 | 是 |
AliyunVideoCommon | 公共模块,主要为一些工具类 | 是 |
thirdparty-lib | 项目中所依赖的第三方库的配置子模块 | 是 |
tips: 视频编辑所需要的基础资源,zip文件需要放在目录AliyunEditorDemo下。
名称 | 作用 | 是否必须 |
---|---|---|
aliyun_svideo_animation_filter.zip | 特效资源 | 是 |
aliyun_svideo_caption.zip | 字幕资源 | 否 |
aliyun_svideo_filter.zip | 滤镜资源 | 是 |
aliyun_svideo_mv.zip | mv资源 | 否 |
aliyun_svideo_overlay.zip | 动图资源 | 否 |
tail.zip | 尾部水印资源 | 否 |
include ':AliyunSVideoBase'//短视频基础包
include ':AliyunSvideoMusic'//短视频音乐控件
include ':AliyunEditor:editor_demo'//编辑模块ui和功能实现模块
include ':AliyunCrop:crop'//裁剪ui模块
include ':AlivcMedia'//媒体资源选择库
include ':AliyunVideoCommon'//
include ':AliyunFileDownLoader'//资源数据库和下载模块
defaultConfig {
//...
ndk {
abiFilters "armeabi-v7a","arm64-v8a"
//短视频目前不支持x86架构
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
//...
//短视频专业版依赖库
implementation project(':AliyunEditor')
implementation project(':AliyunFileDownLoader')
implementation project(':AliyunSVideoBase')
}
buildscript {
//...
apply from: 'thirdparty-lib/config.gradle'
dependencies {
classpath '...'
}
}
allprojects {
repositories {
google()
jcenter()
maven { url "http://maven.aliyun.com/nexus/content/repositories/releases" }
}
}
在AndroidManifest.xml文件中加入以下权限,添加过的可以跳过此步骤。
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
Android 6.0以上系统需要做动态权限请求。
@Override
public void onCreate() {
super.onCreate();
QupaiHttpFinal.getInstance().initOkHttpFinal();
DownloaderManager.getInstance().init(this);
}
tips:编辑需要存储权限,为保证6.0以上机器可以正确使用您需要申请动态权限,您如果出现界面黑屏或者其他异常情况,请务必保证您拥有权限。
AlivcEditInputParam param = new AlivcEditInputParam.Builder()
.build();
EditorMediaActivity.startImport(this, param);
UI配置
UI配置需要为Activity指定主题,定义如下(非必须指定,如不指定即为默认主题)。
<style name="AlivcEditUIStyle" parent="Theme.AppCompat.Light.NoActionBar">
<!--滤镜item对应的图片-->
<item name="filterImage">@mipmap/aliyun_svideo_filter</item>
<!--音乐图标-->
<item name="musicImage">@mipmap/aliyun_svideo_music</item>
<!--动图图标-->
<item name="pasterImage">@mipmap/aliyun_svideo_overlay</item>
<!--字幕图标-->
<item name="captionImage">@mipmap/aliyun_svideo_caption</item>
<!--MV图标-->
<item name="mvImage">@mipmap/aliyun_svideo_mv</item>
<!--特效图标-->
<item name="effectImage">@mipmap/alivc_svideo_effect</item>
<!--时间特效图标-->
<item name="timeImage">@mipmap/aliyun_svideo_time</item>
<!--转场图标-->
<item name="translationImage">@mipmap/aliyun_svideo_transition</item>
<!--涂鸦图标-->
<item name="paintImage">@mipmap/aliyun_svideo_paint</item>
<!--播放对应图标-->
<item name="playImage">@mipmap/aliyun_svideo_play</item>
<!--暂停对应图标-->
<item name="pauseImage">@mipmap/aliyun_svideo_pause</item>
<!--编辑完成对应图标-->
<item name="finishImage">@mipmap/aliyun_svideo_complete_red</item>
</style>
在文档使用中是否遇到以下问题
更多建议
匿名提交