安卓集成阿里云短視頻3.7.7問題記錄

? ? ?最近公司新需求要增加短視頻模塊致盟,公司決定使用阿里云的短視頻sdk碎税。

? ? ?阿里云應(yīng)該是業(yè)界大佬了,產(chǎn)品很完善馏锡,文檔也很規(guī)整雷蹂,但是唯一遺憾的是我可能沒有趕上最新的文檔,還是有些坑的杯道,因為官網(wǎng)目前是根據(jù)3.6.x版本的文檔匪煌。因此針對3.7.7版本未更新文檔前,根據(jù)官網(wǎng)文檔集成后要么閃退要么一直報錯的問題可以參考下,若以后官網(wǎng)文檔更新了也可以用作基本集成流程萎庭。

? ? ?那么就在文章里直接說明3.7.7版本短視頻安卓sdk的完整集成流程了霜医,這里做集成標(biāo)準(zhǔn)版的參考,其他版本其實同理的問題基本一樣驳规。

? ? ?首先肴敛,需要項目最小支持版本18, 下載對應(yīng)級別sdk(基礎(chǔ)版、標(biāo)準(zhǔn)版达舒、專業(yè)版)值朋,官網(wǎng)下載地址

阿里云SDK標(biāo)準(zhǔn)版

我這里是以標(biāo)準(zhǔn)版為例,其余版本同理巩搏,明顯可見與官網(wǎng)文檔結(jié)構(gòu)不同的是多了一個AliyunVideoCommon的包昨登,等下會用到。

步驟一:導(dǎo)入文件

官網(wǎng)是按視頻錄制贯底、視頻裁剪丰辣、視頻編輯三大模塊分別導(dǎo)入的,我這里則同時導(dǎo)入了(需要集成基礎(chǔ)版的同學(xué)不必這么集成禽捆,可以根據(jù)官網(wǎng)一步步來笙什,因為編輯模塊用不到)。

需要導(dǎo)入的文件(選中狀態(tài))

1.將這些選中狀態(tài)的文件一并復(fù)制到項目根目錄下:

復(fù)制文件到項目根目錄

2.導(dǎo)入.so文件

將app/src/main/jniLibs文件夾下的.so文件胚想,拷貝到工程下指定的的so庫中琐凭。(若不需要專業(yè)版面部識別功能,去掉libAliFaceAREngine.so和libFaceAREngine.so.so)

sdk中位置
導(dǎo)入項目位置(因為這里是默認(rèn)加載so文件的位置浊服,若需要調(diào)整自行修改)

步驟3:配置gradle

1.引入模塊

將下列代碼復(fù)制到項目的 settings.gradle文件里统屈。

include ':AlivcCore'

include ':AliyunSVideoBase'

include ':AliyunFileDownLoader:downloadermanager'

include ':AliyunSvideoMusic'

include ':AliyunRecorder:record_demo'

include ':AliyunCrop:crop_demo'//裁剪ui模塊

include ':AliyunVideoSdk'

include ':AliyunEditor:editor_demo'//編輯模塊ui和功能實現(xiàn)模塊

include ':AliyunImport:import_demo'//錄制、編輯牙躺、裁剪的設(shè)置ui

2.添加配置文件

由于Demo中所依賴的一些第三方開源庫愁憔、sdk版本等配置,是通過thirdparty-lib中的配置文件config.gradle做統(tǒng)一管理的孽拷,以需要引入該文件吨掌。

apply from: 'thirdparty-lib/config.gradle'

將這句代碼拷貝到工程級別的bulid.gradle中。

3.添加依賴

下面依賴的代碼脓恕,加到您工程的主模塊(一般是app)的build.gradle中的dependencies里面膜宋。

//錄制的依賴

implementationproject(':AliyunRecorder:record_demo')

implementation externalAliyunOSS

//裁剪的依賴?

implementation project(':AliyunCrop:crop_demo')?

//編輯的依賴

api project(':AliyunEditor:editor_demo')

implementation project(':AliyunImport:import_demo')?

implementation project(':AliyunFileDownLoader:downloadermanager')

4.添加權(quán)限

<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" />


這里就開始有坑點了,記得剛才說過的AliyunVideoCommon包嗎炼幔?如果你按照官網(wǎng)的來激蹲,那么同步gradle的時候就會出現(xiàn)如下情況:

坑點1

提示說AliyunSVideoBase模塊里面依賴了AliyunVideoCommon模塊,找不到江掩,所以我們需要新增第一步:在官網(wǎng)的引入模塊代碼上加入這個包的引入:

include ':AliyunVideoCommon'

編譯運行学辱,終于是找到這個包了乘瓤,但是又新增了一個錯誤:

坑點2

找不到這里面的依賴包,具體因該是短信方面的策泣,這里我對比demo找了很久終于發(fā)現(xiàn)需要在項目級的build.gradle中新增如下兩句代碼:

新增代碼位置

為了方便大家復(fù)制衙傀,我拿下來:

maven { url"http://maven.aliyun.com/nexus/content/repositories/releases" }

至此,某些同學(xué)運行時會出現(xiàn)以下情況萨咕,但并不影響统抬,此時項目已經(jīng)可以正常運行了。

無影響

三大模塊之錄制

錄制需要camera權(quán)限和存儲權(quán)限危队,為保證6.0以上機(jī)器可以正確使用您需要申請動態(tài)權(quán)限聪建,您如果出現(xiàn)界面黑屏或者其他異常情況,請務(wù)必保證您擁有權(quán)限茫陆。

public void startRecord(View view) {

? ? ? ? AliyunSnapVideoParam recordParam = new AliyunSnapVideoParam.Builder() .build();

? ? ? ? AlivcSvideoRecordActivity.startRecord(this, recordParam);

? ? }

注冊一個錄制完成之后的跳轉(zhuǎn)Activity金麸,使用時如果需要在錄制完成之后跳自定義的頁面,可以在AliyunSvideoActionConfig中注冊簿盅。

//錄制完成默認(rèn)進(jìn)入編輯頁面

AliyunSvideoActionConfig.getInstance().registerRecordFinishActivity("com.aliyun.demo.editor.EditorActivity");

三大模塊之裁剪

裁剪需要存儲權(quán)限挥下,為保證6.0以上機(jī)器可以正確使用您需要申請動態(tài)權(quán)限,您如果出現(xiàn)界面黑屏或者其他異常情況桨醋,請務(wù)必保證您擁有權(quán)限棚瘟。

AliyunSnapVideoParam mCropParam = new AliyunSnapVideoParam.Builder().build();

? AliyunVideoCropActivity.startCropForResult(MainActivity.this,REQUEST_CROP,mCropParam);

在onActivityResult中獲取裁剪后視頻的路徑:

@Override

? protected voidonActivityResult(int requestCode, int resultCode, @Nullable Intent data) {

? ? ? super.onActivityResult(requestCode,resultCode,data);

? ? ? if(requestCode == REQUEST_CROP){

? ? ? ? ? if(resultCode == Activity.RESULT_OK &&data!= null){

? ? ? ? ? ? ? int type = data.getIntExtra(MediaActivity.RESULT_TYPE,0);

? ? ? ? ? ? ? if(type==? MediaActivity.RESULT_TYPE_CROP){

? ? ? ? ? ? ? ? ? String path =data.getStringExtra(CropKey.RESULT_KEY_CROP_PATH);

? ? ? ? ? ? ? ? ? Toast.makeText(this,

? ? ? ? ? ? ? ? ? ? ? "文件路徑為 "+ path + " 時長為 " +data.getLongExtra(CropKey.RESULT_KEY_DURATION,0),

? ? ? ? ? ? ? ? ? ? ? Toast.LENGTH_SHORT).show();

? ? ? ? ? ? ? }

? ? ? ? ? }else if(resultCode== Activity.RESULT_CANCELED){

? ? ? ? ? ? ? Toast.makeText(this,"用戶取消裁剪",Toast.LENGTH_SHORT).show();

? ? ? ? ? }

? ? ? }

? }

注冊一個裁剪完成之后的跳轉(zhuǎn)Activity,使用時如果需要在裁剪完成之后跳自定義的頁面喜最,可以在AliyunSvideoActionConfig中注冊:

//默認(rèn)裁剪完成返回上個頁面

AliyunSvideoActionConfig.getInstance().registerCropFinishActivity(null);

三大模塊之編輯

首先說一下:編輯模塊是標(biāo)準(zhǔn)版和專業(yè)版才有的偎蘸,標(biāo)準(zhǔn)版也只有部分功能,基礎(chǔ)版就不需要做這個模塊了哦

1.將編輯時需要的資源文件(特效瞬内、濾鏡迷雪、水印等)復(fù)制到項目的assets目錄下

添加資源文件位置

然后初始化Application的oncreate方法,創(chuàng)建MyApplication繼承android.app.Application

@Override

? public voidonCreate() {

? ? ? super.onCreate();

? ? ? QupaiHttpFinal.getInstance().initOkHttpFinal();

com.aliyun.vod.common.httpfinal.QupaiHttpFinal.getInstance().initOkHttpFinal();

? ? ? DownloaderManager.getInstance().init(this);

? }

在AndroidManifest.xml指定創(chuàng)建的Application:

關(guān)聯(lián)自定義Application

如果按照官網(wǎng)的基本使用方法遂鹊,則會遇到第三個坑振乏,新版本根本沒有這個類了

坑3

于是繼續(xù)對比demo蔗包,發(fā)現(xiàn)demo中已經(jīng)棄用了這句代碼秉扑,而是使用如下代碼:

AlivcSvideoEditParamparam = new AlivcSvideoEditParam.Build().build();

com.aliyun.demo.importer.MediaActivity.startImport(MainActivity.this, param);

注冊一個編輯合成之后的跳轉(zhuǎn)Activity酌畜,使用時如果需要在編輯合成完成之后跳自定義的發(fā)布頁面擅这,可以在AliyunSvideoActionConfig中注冊狞谱。

//編輯完成后跳轉(zhuǎn)上傳頁面

AliyunSvideoActionConfig.getInstance().registerEditFinishActivity("com.aliyun.demo.publish.UploadActivity");

至此剃幌。文檔更新中出現(xiàn)的三個坑的解決方案已經(jīng)介紹完畢包斑,如果官網(wǎng)文檔更新了就作為一次短暫的記錄吧!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末忧吟,一起剝皮案震驚了整個濱河市件蚕,隨后出現(xiàn)的幾起案子盟迟,更是在濱河造成了極大的恐慌裆装,老刑警劉巖踱承,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件倡缠,死亡現(xiàn)場離奇詭異,居然都是意外死亡茎活,警方通過查閱死者的電腦和手機(jī)昙沦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來载荔,“玉大人盾饮,你說我怎么就攤上這事±廖酰” “怎么了丘损?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長工扎。 經(jīng)常有香客問我徘钥,道長,這世上最難降的妖魔是什么定庵? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任吏饿,我火速辦了婚禮,結(jié)果婚禮上蔬浙,老公的妹妹穿的比我還像新娘猪落。我一直安慰自己,他們只是感情好畴博,可當(dāng)我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布笨忌。 她就那樣靜靜地躺著,像睡著了一般俱病。 火紅的嫁衣襯著肌膚如雪官疲。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天亮隙,我揣著相機(jī)與錄音途凫,去河邊找鬼。 笑死溢吻,一個胖子當(dāng)著我的面吹牛维费,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播促王,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼犀盟,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蝇狼?” 一聲冷哼從身側(cè)響起阅畴,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎迅耘,沒想到半個月后贱枣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體监署,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年纽哥,在試婚紗的時候發(fā)現(xiàn)自己被綠了焦匈。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡昵仅,死狀恐怖缓熟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情摔笤,我是刑警寧澤够滑,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站吕世,受9級特大地震影響彰触,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜命辖,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一况毅、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧尔艇,春花似錦尔许、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至棠耕,卻和暖如春余佛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背窍荧。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工辉巡, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蕊退。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓郊楣,卻偏偏與公主長得像,于是被迫代替她去往敵國和親咕痛。 傳聞我的和親對象是個殘疾皇子痢甘,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容