TencentEffectApi
は、美顔数値の更新、動的エフェクト呼び出しなどの機能に用いられます。API | 説明 |
美顔データを初期化します。美顔の使用前に必ずこのメソッドを呼び出してください | |
美顔権限の承認を行います | |
SDKのログレベルを設定します。 開発デバッグの際はLog.DEBUGに、正式リリースの際はLog.WARNにそれぞれ設定することをお勧めします。正式リリースの際にLog.DEBUGに設定していると、大量のログがパフォーマンスに影響する場合があります | |
レンダリングを再開します。ページが表示されている場合に呼び出します | |
レンダリングを一時停止します。ページが非表示の場合に呼び出します | |
美顔属性を更新します。任意のスレッドで呼び出せます | |
美顔オブジェクト作成時のコールバックインターフェースを設定します(エラー発生時にこのインターフェースを呼び出します) | |
動的エフェクトプロンプトのコールバック関数を設定します。プロンプトをフロントエンドのページ上に表示するために用いられます | |
顔の特徴点位置情報などのデータのコールバックを設定します(S1-05およびS1-06パッケージのみコールバックあり) | |
顔、ジェスチャー、体の検出状態のコールバックを設定します | |
現在のlic権限がどの美顔をサポートしているかを判断します。 BEAUTYおよびBODY_BEAUTYタイプの美顔項目のチェックのみサポートします。チェックの結果は各美顔オブジェクトのXmagicProperty.isAuthフィールドに割り当てられます | |
現在のモデルが美顔機能をサポートしているかどうかを判断します(OpenGL3.0) | |
現在のデバイスでサポートされているアトミック機能のテーブルを返します | |
動的エフェクトリソースリストをSDKのチェック用に渡します。実行後、XmagicProperty.isSupportフィールドは、そのアトミック機能が利用可能かどうかを表します。XmagicProperty.isSupportによってUIレイヤーのクリック制限を制御することや、リソースリストから直接削除することができます | |
動的エフェクトリソースリストを渡し、各リソースが使用できるSDKアトミック機能のリストを返します |
void initXmagic(String xmagicResDir,InitXmagicCallBack callBack);typedef InitXmagicCallBack = void Function(bool reslut);
パラメータ | 意味 |
String xmagicResDir | リソースファイルを配置したディレクトリ |
InitXmagicCallBack callBack | コールバックインターフェースの初期化 |
///美顔認証処理の実行void setLicense(String licenseKey, String licenseUrl, LicenseCheckListener checkListener);///権限承認検証結果のコールバックメソッドtypedef LicenseCheckListener = void Function(int errorCode, String msg);
パラメータ | 意味 |
String licenseKey | 認証LicenseKey |
String licenseUrl | 認証LicenseUrl |
LicenseCheckListener checkListener | 権限承認結果のコールバックインターフェース |
void setXmagicLogLevel(int logLevel);
パラメータ | 意味 |
int logLevel | LogLevelを使用して定義可能なタイプを設定します |
void onResume();
void onPause();
void updateProperty(XmagicProperty xmagicProperty);
パラメータ | 意味 |
XmagicProperty xmagicProperty | 美顔属性パッケージ化オブジェクト |
void setOnCreateXmagicApiErrorListener(OnCreateXmagicApiErrorListener? errorListener);///美顔インスタンス作成時のエラーコールバックメソッドtypedef OnCreateXmagicApiErrorListener = void Function(String errorMsg, int code);
パラメータ | 意味 |
OnCreateXmagicApiErrorListener? errorListener | 美顔オブジェクト作成時のエラーメッセージコールバックインターフェース |
エラーコード | 意味 |
-1 | 不明なエラー |
-100 | 3Dエンジンリソースの初期化に失敗しました |
-200 | GAN素材をサポートしていません |
-300 | デバイスがこの素材コンポーネントをサポートしていません |
-400 | テンプレートのJSONの内容が空です |
-500 | SDKのバージョンが低すぎます |
-600 | 分割をサポートしていません |
-700 | OpenGLをサポートしていません |
-800 | スクリプトをサポートしていません |
5000 | 分割背景画像の解像度が2160×3840を超えています |
5001 | 分割背景画像に必要なメモリが不足しています |
5002 | 分割背景ビデオの解析に失敗しました。 |
5003 | 分割背景ビデオが200秒を超えています |
5004 | 分割背景ビデオのフォーマットをサポートしていません |
void setTipsListener(XmagicTipsListener? xmagicTipsListener);abstract class XmagicTipsListener {/// tipsを表示します。Show the tip./// @param tips tips文字列。Tip's content/// @param tipsIcon tipsのicon。Tip's icon/// @param type tipsタイプ。0は文字列とiconの両方を表示することを表し、1はpag素材がiconのみを表示することを表します。tips category, 0 means that both strings and icons are displayed, 1 means that only the icon is displayed for the pag material/// @param duration tipsは時間(ミリ秒)を表示します。Tips display duration, millisecondsvoid tipsNeedShow(String tips, String tipsIcon, int type, int duration);/// */// tipsを非表示にします。Hide the tip./// @param tips tips文字列。Tip's content/// @param tipsIcon tipsのicon。Tip's icon/// @param type tipsタイプ。0は文字列とiconの両方を表示することを表し、1はpag素材がiconのみを表示することを表します。tips category, 0 means that both strings and icons are displayed, 1 means that only the icon is displayed for the pag materialvoid tipsNeedHide(String tips, String tipsIcon, int type);}
パラメータ | 意味 |
XmagicTipsListener xmagicTipsListener | コールバック関数実装クラス |
///顔の特徴点位置情報などのデータコールバックを設定します(S1-05およびS1-06パッケージのみコールバックあり)void setYTDataListener(XmagicYTDataListener? xmagicYTDataListener);顔の情報などのデータのコールバックを設定しますabstract class XmagicYTDataListener {//Youtu AIデータコールバック。void onYTDataUpdate(String data);}
{"face_info":[{"trace_id":5,"face_256_point":[180.0,112.2,...],"face_256_visible":[0.85,...],"out_of_screen":true,"left_eye_high_vis_ratio:1.0,"right_eye_high_vis_ratio":1.0,"left_eyebrow_high_vis_ratio":1.0,"right_eyebrow_high_vis_ratio":1.0,"mouth_high_vis_ratio":1.0},...]}
フィールド | タイプ | 値の範囲 | 説明 |
trace_id | int | [1,INF) | 顔ID。連続ストリーム取得の過程で、IDが同一であれば同じ顔であると認識できます |
face_256_point | float | [0,screenWidth]または[0,screenHeight] | 計512個。顔の256個の重要特徴点であり、画面左上隅が(0,0)です |
face_256_visible | float | [0,1] | 顔の256個の重要特徴点の視認度 |
out_of_screen | bool | true/false | 顔が枠外に出ていないか |
left_eye_high_vis_ratio | float | [0,1] | 左目の特徴点のうち高視認度のものが占める割合 |
right_eye_high_vis_ratio | float | [0,1] | 右目の特徴点のうち高視認度のものが占める割合 |
left_eyebrow_high_vis_ratio | float | [0,1] | 左眉の特徴点のうち高視認度のものが占める割合 |
right_eyebrow_high_vis_ratio | float | [0,1] | 右眉の特徴点のうち高視認度のものが占める割合 |
mouth_high_vis_ratio | float | [0,1] | 口の特徴点のうち高視認度のものが占める割合 |
パラメータ | 意味 |
XmagicYTDataListener xmagicYTDataListener | コールバック関数実装クラス |
void setAIDataListener(XmagicAIDataListener? aiDataListener);abstract class XmagicAIDataListener {void onFaceDataUpdated(String faceDataList);void onHandDataUpdated(String handDataList);void onBodyDataUpdated(String bodyDataList);}
XmagicProperty.isAuth
フィールドに割り当てられます。isAuthフィールドがfalseの場合は、UI上でこれらの項目へのエントリーをブロックすることができます。Future<List<XmagicProperty>> isBeautyAuthorized(List<XmagicProperty> properties);
パラメータ | 意味 |
List<XmagicProperty> properties | チェックする必要がある美顔項目 |
Future<bool> isSupportBeauty();
Future<Map<String, bool>> getDeviceAbilities();
Map<String,bool>
:Future<Map<XmagicProperty, List<String>?>> getPropertyRequiredAbilities(List<XmagicProperty> assetsList);
パラメータ | 意味 |
List<XmagicProperty> assetsList | アトミック機能をチェックする必要がある動的エフェクトリソースリスト |
XmagicProperty.isSupport
によってUIレイヤーのクリック制限を制御することや、直接リソースリストから削除することができます。Future<List<XmagicProperty>> isDeviceSupport(List<XmagicProperty> assetsList);
パラメータ | 意味 |
List<XmagicProperty> assetsList | チェックする必要がある動的エフェクト素材リスト |
この記事はお役に立ちましたか?