短編動画シリーズなどの機能を構築するためにプレーヤーコンポーネントのみが必要な場合、このトピックでは Android 用 ApsaraVideo Player SDK の統合方法について説明します。ショートビデオも作成する必要がある場合は、Android 用 ApsaraVideo MediaBox SDK の使用を推奨します。両方の SDK を個別に使用すると、クラスが重複してコンパイルに失敗する可能性があります。
環境要件
最新バージョンの Android Studio を使用してください。ダウンロード URL: Android Studio。
Android バージョン: 4.3 以降。
ABI 互換性: armv7 または arm64 アーキテクチャ。
制限事項: Android 用 ApsaraVideo Player SDK はシミュレーターをサポートしていません。アプリケーションは物理デバイスで実行する必要があります。
前提条件
ステップ 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 のバージョンを確認するには、「Android 用 ApsaraVideo Player SDK のリリース履歴」をご参照ください。
dependencies { // Android 用 ApsaraVideo Player SDK implementation 'com.aliyun.sdk.android:AliyunPlayer:7.16.0-full' }dependencies { // Android 用 ApsaraVideo Player SDK implementation("com.aliyun.sdk.android:AliyunPlayer:7.16.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_TRACE);プロジェクト構造
ファイル名 | 説明 |
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.xx.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 に関する FAQ」をご参照ください。