ショート動画シリーズなどの機能を構築するためにプレーヤーコンポーネントのみが必要な場合は、このトピックでは、ApsaraVideo Player SDK for Android を統合する方法について説明します。ショート動画も作成する必要がある場合は、ApsaraVideo MediaBox SDK for Android の使用を推奨します。両方の SDK を個別に使用すると、クラスの重複が発生し、コンパイルの失敗につながる可能性があります。
動作環境
最新バージョンの Android Studio を使用してください。ダウンロードURL: Android Studio。
Android バージョン:4.3 以降。
ABI 互換性:armv7 または arm64 アーキテクチャ。
制限事項:ApsaraVideo Player SDK for Android はシミュレーターをサポートしていません。アプリケーションは物理デバイスで実行してください。
前提条件
ステップ1:SDK の統合
Gradle 統合
お使いのネットワークが Alibaba Cloud の Maven リポジトリにアクセスできることを確認してください。
Maven 設定を追加します。
Gradle 7.x 以降の場合
プロジェクトの
setting.gradleファイルに次の設定を追加します。dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() jcenter() // jcenter() は非推奨です。mavenCentral() に置き換えることを推奨します。 maven { url "https://maven.aliyun.com/repository/releases" } } }dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() jcenter() // jcenter() は非推奨です。mavenCentral() に置き換えることを推奨します。 maven("https://maven.aliyun.com/repository/releases") } }Gradle 7.x より前のバージョンの場合
プロジェクトの
build.gradleファイルに次の設定を追加します。allprojects { repositories { google() mavenCentral() jcenter() // jcenter() は非推奨です。mavenCentral() に置き換えることを推奨します。 maven { url "https://maven.aliyun.com/repository/releases" } } }allprojects { repositories { google() mavenCentral() jcenter() // jcenter() は非推奨です。mavenCentral() に置き換えることを推奨します。 maven("https://maven.aliyun.com/repository/releases") } }
Player SDK の依存関係を追加します。
アプリの
build.gradleファイルのdependenciesブロックに Player SDK の依存関係を追加します。次のコードは一例です。説明正しい SDK バージョン番号を指定していることを確認してください。バージョンが正しくない場合、統合エラーが発生することがあります。Player SDK のバージョンについては、「ApsaraVideo Player SDK for Android のリリース履歴」をご参照ください。
dependencies { // ApsaraVideo Player SDK for Android implementation 'com.aliyun.sdk.android:AliyunPlayer:7.17.0-full' }dependencies { // ApsaraVideo Player SDK for Android implementation("com.aliyun.sdk.android:AliyunPlayer:7.17.0-full") }
ローカル統合
ネットワークの問題で Maven リポジトリから SDK をダウンロードできない場合は、ローカル統合を使用してください。
以降の手順は、Android Studio Flamingo | 2022.2.1 を例としています。他のバージョンでも手順は同様です。
必要な AAR パッケージをプロジェクトの
libsディレクトリにコピーします。libsディレクトリが存在しない場合は作成します。app build libs AliyunPlayer-x.x.x-full.aar src androidTest mainプロジェクトの
build.gradleファイルで、allprojectsブロック内のrepositoriesブロックにflatDir設定を追加します。次のコードは一例です。flatDir { dirs 'libs' }アプリの
build.gradleファイルで、dependenciesブロックに AAR ファイルへの依存関係を追加します。次のコードは一例です。dependencies { implementation fileTree(dir: 'libs', include: ['*.aar']) }
リアルタイムストリーミング (RTS) 統合 (オプション)
リアルタイムストリーミング (RTS) コンポーネントを統合する必要がある場合は、「AndroidでのRTSストリームのプル実装」をご参照ください。
ステップ2:ライセンスの設定
中国本土、香港 (中国)、マカオ (中国) 以外のリージョンでサービスを利用する場合は、次のいずれかの方法で国際環境を設定してください。
方法1:次の API を呼び出して、デフォルト設定を国際環境に更新します。
// 中国本土、香港 (中国)、マカオ (中国) 以外のリージョンでサービスを利用するには、 // 他のプレーヤーAPIを呼び出す前に、このAPIを呼び出して国際環境を設定してください。 // これ以降のすべての操作は、この環境で実行されるようになります。 // この環境は実行時に変更できません。 AlivcBase.getEnvironmentManager().setGlobalEnvironment(AlivcEnv.GlobalEnv.ENV_SEA);方法2 (推奨):プレーヤー SDK V7.6.0 以降では、
XMLメソッドを使用して国際環境を設定できます。AndroidManifest.xmlファイルに<meta-data>ノードを追加します。<meta-data android:name="com.aliyun.alivc_env" android:value="SEA"/>設定例は次のとおりです。
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <application ... <meta-data android:name="com.aliyun.alivc_license.licensekey_SEA" android:value="xxx" /> <meta-data android:name="com.aliyun.alivc_license.licensefile_SEA" android:value="assets/SEALicense.crt" /> <meta-data android:name="com.aliyun.alivc_env" android:value="SEA"/> </application> </manifest>
Android のライセンスを設定するには、「Androidのライセンス設定」をご参照ください。
ステップ3:権限の設定
app/src/main/AndroidManifest.xml ファイルで、必要な権限を宣言します。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />ステップ4:難読化設定
難読化設定を proguard-rules.pro ファイルに追加します。次のコードは一例です。
-keep class com.alivc.**{*;}
-keep class com.aliyun.**{*;}
-keep class com.cicada.**{*;}
-dontwarn com.alivc.**
-dontwarn com.aliyun.**
-dontwarn com.cicada.**ステップ5:ログの有効化 (オプション)
ログを有効にすると、問題の特定とトラブルシューティングを迅速に行うことができます。また、ログはパフォーマンスの最適化やユーザーエクスペリエンスの向上のためのデータとしても役立ちます。ログの取得方法については、「SDKログの取得」をご参照ください。
// ログスイッチを有効にします。
Logger.getInstance(context).enableConsoleLog(true);
// ログレベルを設定します。デフォルトのレベルはAF_LOG_LEVEL_INFOです。問題のトラブルシューティングには、AF_LOG_LEVEL_TRACEに設定できます。
Logger.getInstance(context).setLogLevel(Logger.LogLevel.AF_LOG_LEVEL_INFO);プロジェクト構造
ファイル名 | 説明 |
AliyunPlayer-x.x.x-full.aar | FFmpeg 動的ライブラリを含む完全な AAR パッケージです。 |
AliyunPlayer-x.x.x-part.aar | FFmpeg 動的ライブラリを含まない AAR パッケージです。 |
AlivcArtp-x.x.x.aar | ARTP プロトコルをサポートします。このパッケージはオプションです。 |
AlivcArtc-x.x.x.aar | ARTC プロトコルをサポートします。このパッケージはオプションです。 |
ショートビデオ SDK を統合しない場合は、
AliyunPlayer-x.x.x-full.aarパッケージへの依存関係を追加してください。Player SDK とショートビデオ SDK の両方を統合する場合は、Player SDK の依存関係に
AliyunPlayer-x.x.x-partパッケージを使用してください。また、com.aliyun.video.android:AlivcFFmpeg:x.x.xパッケージへの依存関係を追加して、共有の FFmpeg バージョンを使用する必要があります。統合中に正しくない SDK パッケージを使用すると、FFmpeg の競合が発生する可能性があります。
よくある質問
よくある問題とその解決策については、「ApsaraVideo Playerに関するよくある質問」をご参照ください。