初始化 IDRS

本文为您介绍了如何初始化 Android IDRS SDK。

初始化 IDRS

 public void init(Context context, 
                  IdrsParams idrsParams, 
                  SdkInitCallBack sdkInitCallBack, 
                  SdkResourceProgress progressCallBack)

请求参数

参数

类型

说明

是否必须

context

Context

上下文

idrsParams

IdrsParams

初始化参数

sdkInitCallBack

SdkInitCallBack

初始化回调接口

progressCallBack

SdkResourceProgress

下载资源文件进度

IdrsParams 参数

参数

类型

说明

是否必须

sUid

String

身份标识,推荐使用数字及字母

sAppId

String

应用 ID,从控制台中的 应用管理 处获取

AK

String

AccessKey,从控制台中的 用户管理 处获取

SK

String

SecretKey,从控制台中的 用户管理 处获取

sType

String

  • IdrsSdk.TYPE_REMOTE:远程

  • IdrsSdk.TYPE_LOCAL:本地

sSecurityToken

String

定制版本的密钥,阿里云用户直接传 null

engineTypes

Set<EngineType>

业务模块,详见下方的 engineTypes 枚举

EngineType 枚举

参数

说明

AUDIO_DETECT_ENGINE

语音识别

FACE_DETECT_ENGINE

人脸检测

HAND_DETECT_ENGINE

手势识别

OCR_DETECT_ENGINE

OCR

LOCAL_RECORDE_ENGINE

本地录制

返回值

代码示例

 IdrsParams idrsParams = new IdrsParams();
        idrsParams.sUid = userId;
        idrsParams.sAppId = appId;
        idrsParams.AK = ak;
        idrsParams.SK = sk;
        idrsParams.sType = type;
        idrsParams.sSecurityToken = token;
        idrsParams.engineTypes = EnumSet.of(
                EngineType.AUDIO_DETECT_ENGINE,
                EngineType.FACE_DETECT_ENGINE,
                EngineType.HAND_DETECT_ENGINE,
                EngineType.OCR_DETECT_ENGINE,
                EngineType.LOCAL_RECORDE_ENGINE);

IdrsSdk.getInstance().init(this,idrsParams new IdrsSdk.SdkInitCallBack() {
    @Override
    public void success() {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(CreateRoomActivity.this, "初始化成功", Toast.LENGTH_LONG).show();
            }
        });
    }
    
    @Override
    public void fail(final String message) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(CreateRoomActivity.this, "初始化失败", Toast.LENGTH_LONG).show();
            }
        });
    }
  }, new SdkResourceProgress() {
            @Override
            public void progress(final int progress) {
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        //下载显示进度

                    }
                });

            }
        });

动态加载资源包

动态获取资源文件设置

implementation platform("com.mpaas.android:$mpaas_artifact:$mpaas_baseline")
implementation ('com.mpaas.android:idrs') {
    exclude module:'idrs-dynamic-res-local-pkg-build' //云端资源本地包模块
}

设置指定支持 ABI

public void setABIType(Set<ABIType> abiType)

请求参数

参数

类型

说明

是否必须

abiType

Set<ABIType>

支持的类型

代码示例

//需要在调用IdrsSdk.getInstance().init()前调用
 IdrsSdk.getInstance().setABIType( EnumSet.of(ABIType.ARMEABI_V7A));

下载资源文件

public void getSdkResource(Context context, IdrsParams idrsParams, SdkResourceCallback resourceCallBack)

请求参数

参数

类型

说明

是否必须

context

Context

上下文

idrsParams

IdrsParams

初始化参数

resourceCallBack

SdkResourceCallback

下载文件回调接口

代码示例

 IdrsParams idrsParams = new IdrsParams();
        idrsParams.sUid = userId;
        idrsParams.sAppId = appId;
        idrsParams.AK = ak;
        idrsParams.SK = sk;
        idrsParams.sType = type;
        idrsParams.sSecurityToken = token;
        idrsParams.engineTypes = EnumSet.of(
                EngineType.AUDIO_DETECT_ENGINE,
                EngineType.FACE_DETECT_ENGINE,
                EngineType.HAND_DETECT_ENGINE,
                EngineType.OCR_DETECT_ENGINE,
                EngineType.LOCAL_RECORDE_ENGINE);
IdrsSdk.getInstance().getSdkResource(MainActivity.this, idrsParams, new SdkResourceCallback() {
    @Override
    public void success() {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                if (downloadDialog!=null){
                    downloadDialog.dismiss();
                }
                Toast.makeText(MainActivity.this, "资源文件加载成功", Toast.LENGTH_SHORT).show();


            }
        });

    }

    @Override
    public void fail(String s) {

    }

    @Override
    public void progress(final int progress) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {


                if (downloadDialog==null){
                    showDownloadDialog();
                }
                if (downloadDialog!=null){
                    downloadDialog.setTvDownloadProgress(progress);
                }



            }
        });

    }
});