Yalnızca kısa video serileri gibi özellikleri oluşturmak için oynatıcı bileşenine ihtiyacınız varsa, bu konu Android için ApsaraVideo Player SDK'nın nasıl entegre edileceğini açıklar. Kısa videolar da oluşturmanız gerekiyorsa, Android için ApsaraVideo MediaBox SDK kullanmanızı öneririz. Her iki SDK'yı ayrı ayrı kullanmak sınıf çoğaltmasına neden olabilir ve derleme hatalarına yol açabilir.
Ortam gereksinimleri
Android Studio'nun en son sürümünü kullanın. İndirme URL'si: Android Studio.
Android sürümü: 4.3 veya üzeri.
ABI uyumluluğu: armv7 veya arm64 mimarisi.
Sınırlama: Android için ApsaraVideo Player SDK emülatörleri desteklemez. Uygulamanızı fiziksel bir cihazda çalıştırmanız gerekir.
Önkoşullar
Bir oynatıcı lisansı kaydedin ve
AliVideoCert-********.crtlisans dosyasını edinin. Daha fazla bilgi için bkz. Lisans edinme.SDK'yı yerel olarak entegre ederken öncelikle Android için ApsaraVideo Player SDK paketini indirmeniz gerekir. En son sürümü indirmenizi öneririz.
Video eğitimi
1. Adım: SDK entegrasyonu
Gradle entegrasyonu
Ağınızın Alibaba Cloud Maven deposuna erişebildiğinden emin olun.
-
Maven yapılandırmasını ekleyin.
-
Gradle 7.x ve sonraki sürümler için
Projenizin
setting.gradledosyasına aşağıdaki yapılandırmayı ekleyin:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() jcenter() // jcenter() is being deprecated. We recommend that you replace it with mavenCentral(). maven { url "https://maven.aliyun.com/repository/releases" } } }dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() jcenter() // jcenter() is being deprecated. We recommend that you replace it with mavenCentral(). maven("https://maven.aliyun.com/repository/releases") } } -
Gradle 7.x öncesi sürümler için
Projenizin
build.gradledosyasına aşağıdaki yapılandırmayı ekleyin:allprojects { repositories { google() mavenCentral() jcenter() // jcenter() is being deprecated. We recommend that you replace it with mavenCentral(). maven { url "https://maven.aliyun.com/repository/releases" } } }allprojects { repositories { google() mavenCentral() jcenter() // jcenter() is being deprecated. We recommend that you replace it with mavenCentral(). maven("https://maven.aliyun.com/repository/releases") } }
-
-
Player SDK bağımlılığını ekleyin.
Uygulamanızın
build.gradledosyasındakidependenciesbloğuna Player SDK bağımlılığını ekleyin. Aşağıdaki kod bir örnek sunar:NotDoğru SDK sürüm numarasını belirttiğinizden emin olun. Yanlış bir sürüm, entegrasyon hatasına neden olur. Player SDK sürümünü görüntülemek için bkz. Android için ApsaraVideo Player SDK sürüm geçmişi.
dependencies { // ApsaraVideo Player SDK for Android implementation 'com.aliyun.sdk.android:AliyunPlayer:7.18.0-full' }dependencies { // ApsaraVideo Player SDK for Android implementation("com.aliyun.sdk.android:AliyunPlayer:7.18.0-full") }
Yerel entegrasyon
Ağ sorunları nedeniyle SDK'yı Maven deposundan indiremiyorsanız yerel entegrasyonu kullanın.
Aşağıdaki adımlarda Android Studio Flamingo | 2022.2.1 örneği kullanılmıştır. Süreç diğer sürümlerde de benzerdir.
-
Gerekli AAR paketini projenizin
libsdizinine kopyalayın.libsdizini yoksa oluşturun.app build libs AliyunPlayer-x.x.x-full.aar src androidTest main -
Projenizin
build.gradledosyasında,allprojectsbloğu içindekirepositoriesbloğunaflatDirayarını ekleyin. Aşağıdaki kod bir örnek sunar:flatDir { dirs 'libs' } -
Uygulamanızın
build.gradledosyasında,dependenciesbloğuna AAR dosyası için bağımlılık ekleyin. Aşağıdaki kod bir örnek sunar:dependencies { implementation fileTree(dir: 'libs', include: ['*.aar']) }
Gerçek Zamanlı Akış (RTS) entegrasyonu (isteğe bağlı)
Gerçek Zamanlı Akış (RTS) bileşenini entegre etmeniz gerekiyorsa bkz. Android'de RTS akış çekmeyi uygulama.
Adım 2: Lisansı yapılandırın
Hizmeti Çin anakarası, Hong Kong (Çin) ve Makao (Çin) dışındaki bölgelerde kullanıyorsanız uluslararası ortamı aşağıdaki yöntemlerden birini kullanarak yapılandırın.
-
Yöntem 1: Varsayılan yapılandırmayı uluslararası ortama güncellemek için aşağıdaki API'yi çağırın.
// To use the service in regions outside the Chinese mainland, Hong Kong (China), and Macao (China), // call this API to set the international environment before any other player API calls. // All subsequent operations will run in this environment. // The environment cannot be changed at runtime. AlivcBase.getEnvironmentManager().setGlobalEnvironment(AlivcEnv.GlobalEnv.ENV_SEA); -
Yöntem 2 (önerilen): Oynatıcı SDK'sının V7.6.0 ve sonraki sürümleri için uluslararası ortamı
XMLyöntemiyle yapılandırabilirsiniz.AndroidManifest.xmldosyanıza bir<meta-data>düğümü ekleyin.<meta-data android:name="com.aliyun.alivc_env" android:value="SEA"/>Aşağıdaki örnek bir yapılandırmayı göstermektedir:
<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 için lisansı yapılandırmak üzere bkz. Android için lisansı yapılandırma.
Adım 3: İzinleri yapılandırın
app/src/main/AndroidManifest.xml dosyanızda gerekli izinleri bildirin:
<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" />
Adım 4: Karartmayı yapılandırın
Karartma yapılandırmasını proguard-rules.pro dosyanıza ekleyin. Aşağıdaki kod bir örnek sunar:
-keep class com.alivc.**{*;}
-keep class com.aliyun.**{*;}
-keep class com.cicada.**{*;}
-dontwarn com.alivc.**
-dontwarn com.aliyun.**
-dontwarn com.cicada.**
Adım 5: Günlük kaydı tutmayı etkinleştirin (isteğe bağlı)
Günlükleri etkinleştirmek, sorunları hızla bulmanıza ve gidermenize yardımcı olur. Günlükler ayrıca performans optimizasyonu ve kullanıcı deneyimi iyileştirmeleri için veri sağlar. Günlüklerin nasıl alınacağı hakkında bilgi için bkz. SDK günlüklerini alma.
// Enable the log switch.
Logger.getInstance(context).enableConsoleLog(true);
// Set the log level. The default level is AF_LOG_LEVEL_INFO. To troubleshoot issues, you can set it to AF_LOG_LEVEL_TRACE.
Logger.getInstance(context).setLogLevel(Logger.LogLevel.AF_LOG_LEVEL_INFO);
Proje yapısı
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Kısa video SDK'sını entegre etmiyorsanız
AliyunPlayer-x.xx.x-full.aarpaketine bağımlılık ekleyin.Hem Player SDK hem de kısa video SDK'sını entegre ediyorsanız Player SDK bağımlılığı için
AliyunPlayer-x.x.x-partpaketini kullanın. Ayrıcacom.aliyun.video.android:AlivcFFmpeg:x.x.xpaketine bağımlılık ekleyerek paylaşılan bir FFmpeg sürümü kullanmanız gerekir.Entegrasyon sırasında yanlış bir SDK paketi kullanmak FFmpeg çakışmalarına neden olabilir.
SSS
Yaygın sorunlar ve çözümler için bkz. ApsaraVideo Player ile ilgili SSS.