本文介紹Android播放器SDK的環境要求、整合方式及使用參考。
環境要求
類別 | 說明 |
系統版本 | 支援Android 4.3及以上版本。 |
手機晶片 | 架構要求:
|
開發工具 | 推薦使用Android Studio,本文操作步驟基於Android Studio開發。下載地址:Android Studio。 |
前提條件
登入並擷取包含播放器授權的License檔案
AliVideoCert-********.crt
。具體操作,請參見擷取License。本地整合SDK時,需要先下載Android播放器SDK包(包含了播放器SDK及Demo源碼),從V5.4.6.0版本開始Android播放器SDK提供了支援AndroidX和不支援AndroidX的Demo,請根據您的專案按需選擇下載,推薦下載使用最新版本。下載地址請參見播放器SDK。
解壓後的目錄結構如下:
表 1. SDK包目錄結構
檔案名稱 | 作用 |
demo | 播放器的Demo源碼。 |
JavaDoc | 播放器API文檔。 |
sdk | 播放器SDK的aar庫。sdk的目錄結構參見sdk目錄結構。 |
X.X.XReleaseNote | 版本說明。 |
表 2. sdk目錄結構
檔案名稱 | 說明 |
AliyunPlayer-x.x.x-full.aar | 完整的aar包,包含了FFmpeg動態庫的包。 |
AliyunPlayer-x.x.x-part.aar | aar包,不包含FFmpeg的動態庫的包。 |
AlivcArtp-x.x.x.aar | 支援artp協議,非必須。 |
AlivcArtc-x.x.x.aar | 支援artc協議,非必須。 |
如果不整合短視頻SDK,直接依賴AliyunPlayer-x.xx.x-full.aar包即可。
如果整合播放器的同時,也整合短視頻SDK,那麼播放器的SDK依賴AliyunPlayer-x.x.x-part包,同時使用共通的FFmpeg版本,即需要額外依賴com.aliyun.video.android:AlivcFFmpeg:x.x.x這個包。
如果整合時使用了錯誤的SDK包,會導致FFmpeg衝突。
使用限制
Android播放器SDK不支援模擬器,整合完成後需要真機運行。
SDK整合(本地整合)
以下步驟以Android Studio Flamingo | 2022.2.1版本的Android Studio開發工具為例,其餘開發工具的操作步驟類似。
拷貝需要的aar包到工程的libs目錄下(如果沒有libs檔案夾,手動建立libs檔案夾即可)。
修改Project下的build.gradle檔案,在allprojects的repositories節點中增加flatDir的設定,樣本如下:
flatDir { dirs 'libs' }
修改App的build.gradle檔案,dependencies節點中增加對aar的引用和Conan的引用,樣本如下:
dependencies { implementation fileTree(dir: 'libs', include: ['*.aar']) //阿里雲播放器5.3.0 版本以前需要引入AlivcConan庫,5.3.0及其以後的版本不需要引入。 implementation 'com.alivc.conan:AlivcConan:x.x.x' }
混淆配置。
在App的Proguard-rules.pro檔案中添加以下混淆配置,樣本如下:
-keep class com.alivc.**{*;} -keep class com.aliyun.**{*;} -keep class com.cicada.**{*;} -dontwarn com.alivc.** -dontwarn com.aliyun.** -dontwarn com.cicada.**
SDK整合(Gradle整合)
請確保網路正常,並且可以正常訪問阿里雲Maven倉庫。如果由於網路故障,無法從Maven倉庫下載到播放器SDK包,則建議通過本地整合方式來整合SDK,詳細請參見SDK整合(本地整合)。
在Project的build.gradle中增加阿里雲的Maven地址依賴。樣本如下:
maven { url "https://maven.aliyun.com/repository/releases" }
操作後的截圖如下:
修改App的build.gradle檔案,dependencies節點中增加依賴。樣本如下:
說明請確保引入的播放器SDK版本號碼填寫正確,否則將報錯並引入失敗。播放器SDK的版本可以從Android播放器SDK發布歷史查看。
implementation 'com.aliyun.sdk.android:AliyunPlayer:x.x.x-full' //阿里雲播放器5.3.0 版本以前需要引入AlivcConan庫,5.3.0及其以後的版本不需要引入 implementation 'com.alivc.conan:AlivcConan:x.x.x'
操作後的截圖如下:
Android端接入License
配置License。
(推薦)將認證檔案拷貝到Android Studio專案中的assets目錄下。
說明您也可以將認證檔案複製到裝置中的其他位置,但要保證下一步中
com.aliyun.alivc_license.licensefile
(全球環境)或com.aliyun.alivc_license.licensefile_SEA
(國際站環境)對應的value的值和License的路徑保持一致。在AndroidManifest.xml檔案中添加<meta-data>節點。
重要若配置License後校正失敗,您可以檢查<meta-data>節點是否處於<application>元素下面,且<meta-data>的name是否正確。若未能解決問題,您可以參考License相關常見問題進行排查。
針對國際站使用者,若需使用播放器SDK,且播放器SDK為6.14.0及以上版本,請務必配置國際站環境License;若不使用播放器SDK,可以僅配置全球環境License。
您可以同時接入2套License(1套全球環境License,1套國際站環境License),後續在App每次啟動後,通過配置播放器SDK的服務環境,來指定播放器的運行環境。播放器運行過程中,不支援切換環境。
// 全球環境配置License(預設配置) <meta-data android:name="com.aliyun.alivc_license.licensekey" android:value="foIVziMaUHaRqgDyhf6b6eb8fcf014af39535d0720a32****"/> <!-- TODO:請設定您的 LicenseKey值--> <meta-data android:name="com.aliyun.alivc_license.licensefile" android:value="assets/cert/release.crt"/> <!-- TODO:請設定您的 LicenseFile檔案路徑--> // 國際站環境配置License,手動在末尾添加_SEA <meta-data android:name="com.aliyun.alivc_license.licensekey_SEA" android:value="f6b6foIVziMaUHaRqgDyheb8fcf014af39535d0a32720****"/> <!-- TODO:請設定您的 LicenseKey值--> <meta-data android:name="com.aliyun.alivc_license.licensefile_SEA" android:value="assets/cert/release.crt"/> <!-- TODO:請設定您的 LicenseFile檔案路徑-->
配置播放器SDK的服務環境(使用國際站環境必配)。
播放器SDK自6.14.0版本開始支援選擇服務環境,6.14.0及以上版本的播放器SDK預設為全球環境配置,如需使用國際站環境(目前國際站使用者僅支援使用國際站環境),則須在每次App啟動後,按照下述方法將播放器SDK配置更新為國際站環境,否則播放器SDK的License會鑒權失敗;其他版本及SDK的使用情境下,可忽略此步驟。
// 使用國際站環境時,請確保在調用任何播放器API之前,已調用下述介面更新預設配置為國際站環境,以確保後續所有業務都是在國際站環境下運行 // 通過AlivcBase統一介面,設定國際站環境,運行期間不支援修改 AlivcBase.getEnvironmentManager().setGlobalEnvironment(AlivcEnv.GlobalEnv.ENV_SEA);