このトピックでは、Android で音声・動画 MediaBox SDK をクイックに統合する方法について説明します。
注意事項
SDK v6.6.0 以前から v6.7.0 以降にアップグレードする場合は、「音声・動画メディア SDK V6.7.0 における美顔エフェクトの統合変更に関するお知らせ」をご参照ください。
動作環境
カテゴリ | 説明 |
開発ツール | Android Studio の使用を推奨します。Android Studio の Web サイトからダウンロードしてください。 |
Android バージョン | Android 5.0 以降。 |
ステップ 1: SDK の統合
Maven 統合 (推奨)
プロジェクトの `build.gradle` ファイルを修正して、Maven リポジトリのアドレスを追加します。
maven { url "https://maven.aliyun.com/nexus/content/repositories/releases" }アプリの `build.gradle` ファイルを変更して、
dependenciesノードに SDK の依存関係を追加します。このトピックの SDK バージョン番号は参考用です。最新バージョンについては、「シナリオ別 SDK」をご参照ください。
// 必要に応じて、以下の 4 つの SDK のいずれかを選択して統合します。 // 1. オールインワン SDK: プレーヤー + リアルタイムストリーミング (RTS) + ライブ配信 + ショートビデオ + RTC 連携マイク + 基本美顔 implementation 'com.aliyun.aio:AliVCSDK_Standard:7.10.0' // 2. ライブ配信基本 SDK: プレーヤー + ストリーム取り込み + 基本美顔 + RTS implementation 'com.aliyun.aio:AliVCSDK_BasicLive:7.10.0' // 3. ショートビデオ SDK: プレーヤー + ショートビデオ + 基本美顔 implementation 'com.aliyun.aio:AliVCSDK_UGC:7.10.0' // 4. ライブ配信インタラクティブ SDK: プレーヤー + RTS + ストリーム取り込み + RTC 連携マイク + 基本美顔 implementation 'com.aliyun.aio:AliVCSDK_InteractiveLive:7.10.0'
手動統合
必要な Android 用の「シナリオ別 SDK」をダウンロードします。
*.aar 形式の SDK ファイルをアプリモジュールの `libs` フォルダにコピーします。
プロジェクトの build.gradle ファイルを変更して、
allprojects内のrepositoriesノードにflatDir構成を追加します。flatDir { dirs 'libs' }アプリの build.gradle ファイルを変更して、
dependenciesノードに AAR 参照を追加します。dependencies { implementation fileTree(dir: 'libs', include the following: ['*.aar']) }
ステップ 2: ライセンス認証の設定
SDK を初めて統合する際には、「ライセンスの管理」と「ライセンス認証の設定」を行う必要があります。
ステップ 3: アプリ権限の設定
アプリの `src/main/AndroidManifest.xml` ファイルを修正して、アプリの権限を設定します。
<!-- ショートビデオの権限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.RECORD_VIDEO" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- ライブ配信の権限 -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.REORDER_TASKS" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" /> <!-- 音声録音の権限を追加 -->
<uses-permission android:name="android.permission.CAMERA" /> <!-- カメラの権限を追加 -->
<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" />ステップ 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.**
###################### ショートビデオの難読化ルール #########################
-keep class com.aliyun.**{*;}
-keep class com.duanqu.**{*;}
-keep class com.qu.**{*;}
-keep class com.alibaba.**{*;}
-keep class component.alivc.**{*;}
-keep class com.alivc.**{*;}
-keep class org.webrtc.**{*;}
-keep class org.ugsv.**{*;}
###################### ライブ配信の難読化ルール #########################
-keep class com.alivc.** { *;}
-keep class com.aliyun.rts.network.* { *;}
-keep class org.webrtc.ali.** {*;}
-keep class org.webrtc.utils.** {*;}よくある質問
詳細については、「よくある質問」の各機能のセクションをご参照ください。