帮助与文档 > 产品文档 > 智能语音评测 > Android_SDK文档 > 智能语音评测服务
智能语音评测服务

有道智云语音评测 SDK简介

有道智云语音评测 SDK 是有道智云开放平台提供的云服务之一,是有道在线语音评测接口的一种实现,支持在线语音评测。

通过SDK接入优势:

  1. 接入简单,不用实现整个语音评测协议
  2. 方便进行数据统计,了解用户语音评测使用情况

接入前提

获取app签名

将app签名以及app包名给智云进行认证备案并生成appKey

gradlew Task :app:signingReport
> Task :app:signingReport
Variant: releaseUnitTest
Config: release
Store: /Users/shen/workspace/sourcecode/ydasr/app/ydasr.key
Alias: ydasr
MD5: A2:20:C7:A2:5B:B7:FF:A3:5F:D9:FD:D7:13:7A:C6:56
SHA1: CC:09:81:E2:B7:27:62:6C:73:BB:FA:BF:43:5F:74:1F:F4:E0:22:AA
SHA-256: 6E:C0:01:C6:1A:1F:25:4F:B7:99:BF:07:89:12:78:20:EA:CC:B1:64:22:6E:6C:D1:E7:82:6E:EA:AE:7E:AB:98
Valid until: Thursday, October 8, 2048

获取密钥


1中获取到的签名MD5部分,过滤掉其中冒号,并将获取到的32位转化为小写即为需要填写的应用密钥。
获取到的MD5: A2:20:C7:A2:5B:B7:FF:A3:5F:D9:FD:D7:13:7A:C6:56
最后得到的密钥:a220c7a25bb7ffa35fd9fdd7137ac656

获取app包名

获取相应APP包的名字 

生成appKey


用2步中密钥和3中包名生成appKey,详细步骤见网址http://ai.youdao.com/doc.s#guide

集成步骤

引入依赖包

引入依赖包,拷贝jar包到app下面的libs目录下,jar包包括youdaoBase.jar和youdaoSpeechEvaluate.jar,在gradle中如下进行配置即可。

libs方式

dependencies {
    ...
    compile files('libs/YoudaoBase.jar')
    compile files('libs/youdaoSpeechEvaluate.jar')
}

增加权限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

混淆需增加部分

#Sdk
-ignorewarnings
-libraryjars libs/YoudaoBase.jar
-keep class com.youdao.sdk.** { *;}

-libraryjars libs/youdaoSpeechEvaluate.jar
-keep class youdao.com.yd_speech_evaluator.**{*;}

使用说明

使用的说明在以下的条目中 

1. 创建返回接口

创建评测返回接口SpEvaListener
SpEvaListenr listenr = new SpEvaListener() {
            @Override
            public void onError(int errorCode) {
                final String errorString = SpEvaErrorCode.getErrorString(errorCode);
                YouDaoLog.e(errorString);
                mHandler.post(new Runnable() {
                    @Override
                    public void run() {
                        ToastUtils.show(errorString);
                    }
                });
            }

            @Override
            public void onResult(SpEvaResult result, String input) {

            }
        });

2. 初始化参数

初始化语音评测参数,参数详细描述见接口说明
private SpEvaParameters mSpEvaParameters = new SpEvaParameters.Builder()
            .channel(CHANNEL)
            .language(SpEvaLanguage.ENGLISH)
            .rate(RATE)
            .timeout(100000)
            .format(FORMAT)
            .build();


3. 传入参数

传入上一步构建的mSpEvaParameters,调用evaluate方法开始评测,evaluate方法见下面代码说明,使用详细见demo。
/**
* @param base64AudioData 要评测的音频文件的base64编码字符串
* @param spEvaText 要翻译的音频文件对应的文本
* @param listener 评测完成后的回调方法
*/
public void evaluate(String base64AudioData, String spEvaText, SpEvaListener listener) {
    ...
}
//开始评测
SpeechEvaluate.getInstance(mSpEvaParameters).evaluate(bases64, mEvaluateText, listener);

其他注意事项

SpEvaListener回调方法非主线程的,如果需要在回调中更新UI,需放到主线程中,代码可见demo.