Queen SDKは、Alibabaのビデオクラウドチームによって開発されたスマートレタッチSDKです。 このSDKは、画像レタッチ、顔レタッチ、クロマキー、ステッカー、メイクアップ、ジェスチャー認識、ボディシェーピング、美容、拡張現実 (AR) ライティングなど、幅広い機能を提供します。 これらの機能は、ライブストリーミング、ビデオ会議、および短いビデオ制作シナリオで使用できます。 このトピックでは、Queen SDK for Androidを統合してレタッチ機能を実装する方法について説明します。
前提条件
開発環境がセットアップされます。 次の表に、開発環境の要件を示します。
項目 | 説明 |
Android | Android 4.3以降。 |
Java | Java 1.7以降。 |
APIレベル | Android APIレベル18以降。 |
Android Studio | Android Studio 2.3以降。 Android Studioをダウンロードするには、Android Studioにアクセスしてください。 |
統合ガイド
(推奨) Maven依存関係を使用したSDKの統合
Alibaba Cloud Mavenリポジトリをプロジェクトのbuild.gradleファイルに追加します。
allprojects { repositories { google() jcenter() maven { url "https://maven.aliyun.com/repository/releases" } } }クイーンSDKをアプリケーションのbuild.gradleファイルに追加します。
// The Queen SDK package. implementation "com.aliyun.maliang.android:queen:6.8.1-official-pro" // Optional. The menu component of Queen SDK. implementation "com.aliyun.maliang.android:queen_menu:6.8.1-official-pro-tiny" // Download the menu resources. implementation "com.aliyun.maliang.android:queen_menu:6.8.1-official-pro" // Package the menu resources on your on-premises machine.
レタッチ機能のライブラリやAlibaba Cloud Real-Time Communication (RTC) SDKなどのAlibaba Cloud SDKのライブラリには、重複したファイルが含まれている場合があります。 その結果、アプリケーションのパッケージ化に失敗する可能性があります。 この場合、次のコードに示すように、packagingOptionsパラメーターをプロジェクトのbuild.gradleファイルに追加して、ファイルの競合を回避します。 重複ファイルが存在しない場合は、このパラメーターを追加する必要はありません。
android {
...
compileSdkVersion ...
...
packagingOptions {
pickFirst '**/libMNN.so' // If duplicate libMNN.so files exist, add this line of code.
pickFirst '**/libMNN_CL.so' // If duplicate libMNN_CL.so files exist, add this line of code.
pickFirst '**/libc++_shared.so' // If duplicate libc++_shared.so files exist, add this line of code.
}
...
}SDKの手動統合
をダウンロードして解凍するクイーンSDKパッケージ.
をコピーします。SDKパッケージからプロジェクトのlibsフォルダーに抽出されたaarファイル。
Gradleを使用して、AARパッケージに依存関係を追加します。
dependencies { implementation fileTree(include: ['*.aar'], dir: 'libs') }次の依存関係をコードに追加します。
dependencies { implementation files('libs/alivc-livepusher-lib-release.aar') }[今すぐ同期] をクリックしてプロジェクトをコンパイルします。
権限の設定
AndroidManifest.xmlファイルでアプリケーションのアクセス許可を事前に設定する必要があります。 Queen SQK for Androidを統合するには、次の権限が必要です。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<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" />Android 6.0以降では、実行時に権限を要求する必要があります。 次のサンプルコードは、権限を設定する方法を示しています。
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA)
== PackageManager.PERMISSION_GRANTED) {
// You have obtained the permission.
//...
} else {
// You do not have this permission. Apply for it.
// PERMISSION_REQUEST_CODE specifies the code of the application for the permission. You can set the code to an arbitrary number.
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, PERMISSION_REQUEST_CODE);
}ライセンスの設定
事前にQueen SDKのライセンスを取得していることを確認してください。 詳細については、「Queen SDKのライセンス取得」をご参照ください。 ライセンスを取得したら、次の操作を実行して、プロジェクトでライセンスキーとライセンスファイルを設定します。
ApsaraVideo LiveのQueen SDKとApsaraVideo VODのshort video SDKを同時に統合すると、2つのSDKは同じライセンスキーとライセンスファイルを使用します。 ライセンスを設定する必要があるのは一度だけです。 最新のライセンスファイルを使用する必要があることに注意してください。
購入したSDKが更新された場合、または更新する必要がある場合は、ライセンスも更新する必要があります。 ライセンスを更新するには、次の手順を実行します。
最新のライセンスを取得します。 詳細については、「Queen SDKのライセンス取得」をご参照ください。
最新のライセンスを取得したら、ライセンスを再設定します。
ライセンスをプロジェクトのassetsフォルダーにインポートし、AndroidManifest.xmlファイルのapplicationノードに2つのメタデータエントリを追加します。 次のサンプルコードに例を示します。
com.aliyun.alivc_license.licensekeyは、ライセンスキーを指定するメタデータエントリです。
<application
android:icon="@drawable/icon"
android:label="@string/app_name" >
<meta-data
android:name="com.aliyun.alivc_license.licensekey"
android:value="Your LicenseKey"/> // Enter the license key that you obtain.
<meta-data
android:name="com.aliyun.alivc_license.licensefile"
android:value="Your LicenseFile Path"/> // Enter the path of the license file relative to the assets folder. Example: alivc_license/AliVideoCert.crt.
...
</application>関連ドキュメント
項目 | 関連ドキュメント |
サンプルプロジェクト | サンプルプロジェクトにはSDK統合用の完全なコードが含まれており、assetsフォルダーにはデモのすべてのイメージリソースが含まれています。 |
クイックスタート | クイックスタートパッケージにより、Queen SDKの統合効率が向上します。 クイックスタートパッケージは、統合の詳細な説明を提供し、一般的な問題のトラブルシューティングに役立つガイダンスも提供します。 |
一般的なベンダーのSDKと統合するためのコード |