This topic describes how to quickly integrate the MediaBox SDK for audio and video on Android.
Usage notes
To upgrade from SDK v6.6.0 or earlier to v6.7.0 or later, see Announcement on integration changes for retouching effects in Media SDK for audio and video V6.7.0.
Environment requirements
Category | Description |
Development tool | Android Studio is recommended. Download it from the Android Studio website. |
Android version | Android 5.0 or later. |
Step 1: Integrate the SDK
Maven integration (Recommended)
Modify the project's build.gradle file to add the Maven repository address.
maven { url "https://maven.aliyun.com/nexus/content/repositories/releases" }Modify the app's build.gradle file to add the SDK dependency in the
dependenciesnode.The SDK version number in this topic is for reference only. To obtain the latest version, see Scenario-specific SDKs.
// Choose one of the following four SDKs to integrate as needed. // 1. All-in-one SDK: Player + Real-Time Streaming (RTS) + Live + Short Video + RTC Co-streaming + Basic Retouching implementation 'com.aliyun.aio:AliVCSDK_Standard:7.10.0' // 2. Basic Live SDK: Player + Stream Ingest + Basic Retouching + RTS implementation 'com.aliyun.aio:AliVCSDK_BasicLive:7.10.0' // 3. Short Video SDK: Player + Short Video + Basic Retouching implementation 'com.aliyun.aio:AliVCSDK_UGC:7.10.0' // 4. Interactive Live SDK: Player + RTS + Stream Ingest + RTC Co-streaming + Basic Retouching implementation 'com.aliyun.aio:AliVCSDK_InteractiveLive:7.10.0'
Manual integration
Download the required scenario-specific SDK for Android.
Copy the *.aar SDK file to the libs folder in your app module.
Modify the project's build.gradle file to add the
flatDirconfiguration to therepositoriesnode inallprojects.flatDir { dirs 'libs' }Modify the app's build.gradle file to add the AAR reference in the
dependenciesnode.dependencies { implementation fileTree(dir: 'libs', include the following: ['*.aar']) }
Step 2: Configure license authorization
When you first integrate the SDK, you must manage licenses and configure license authorization.
Step 3: Configure app permissions
Modify the src/main/AndroidManifest.xml file of your app to configure app permissions.
<!-- Permissions for short video -->
<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" />
<!-- Permissions for live streaming -->
<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" /> <!-- Add permission for audio recording -->
<uses-permission android:name="android.permission.CAMERA" /> <!-- Add permission for 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" />Step 4: Configure obfuscation rules
Modify the app's proguard-rules.pro file to add obfuscation rules.
###################### Obfuscation rules for Player #########################
-keep class com.alivc.**{*;}
-keep class com.aliyun.**{*;}
-keep class com.cicada.**{*;}
-dontwarn com.alivc.**
-dontwarn com.aliyun.**
-dontwarn com.cicada.**
###################### Obfuscation rules for Short Video #########################
-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.**{*;}
###################### Obfuscation rules for Live Streaming #########################
-keep class com.alivc.** { *;}
-keep class com.aliyun.rts.network.* { *;}
-keep class org.webrtc.ali.** {*;}
-keep class org.webrtc.utils.** {*;}FAQ
For more information, see the sections for each feature in FAQ.