有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

前提条件

无论您当前使用的是测试版本或正式版本,都需要在申请授权并激活后才能正常使用。

操作步骤

步骤1:提交申请

1. 语音评测离线 SDK 控制台 选择离线识别 SDK,首次注册请先完成实名认证。


2. 目前语音评测离线 SDK 只接受企业认证账号进行测试申请(如果需要正式购买必须先进行测试申请)。
3. 实名认证与企业认证后,在语音评测离线 SDK 控制台单击立即申请进行测试版本申请。
4. 填写申请信息。

步骤2:授权使用

1. 获取 LicenseID 与腾讯云鉴权相关信息

申请测试版本通过以后,会在语音评测离线 SDK 控制台生成一条记录。


单击激活指引列表,可以看到当前记录被分配的 LicenseID,后续激活 SDK 代码需要用到。同时,可以单击激活指引跳转至本页面,查看腾讯云 签名方法 需要的 SecretID 与 SecretKey。

2. 下载、修改、运行

Android:集成步骤
添加 SDK 依赖:TAISDK 已经发布到 Maven Central 库,您可以通过配置 gradle 自动下载更新。
implementation 'com.tencent.edu:TAISDK-offline:1.0.1.74'
同步SDK:单击 Sync Now,如果您的网络连接 Maven Central 没有问题,SDK 会自动下载集成到工程里。
配置 App 权限:在 AndroidManifest.xml 中配置 App 的权限,TAISDK 需要以下权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
接口调用
声明并定义对象
private TAIOralEvaluation oral = new TAIOralEvaluation();
设置数据回调
this.oral.setListener(new TAIOralEvaluationListener() {
@Override
public void onEvaluationData(final TAIOralEvaluationData data, final TAIOralEvaluationRet result) {
OralEvaluationActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
}
});
}
@Override
public void onEvaluationError(TAIOralEvaluationData data, TAIError error) {
runOnUiThread(new Runnable() {
@Override
public void run() {
}
});
}
@Override
public void onEndOfSpeech() {
OralEvaluationActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
}
});
}
@Override
public void onVolumeChanged(final int volume) {
OralEvaluationActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
}
});
}
});
内部录制(SDK 内部录制音频并传输,推荐使用)
TAIOralEvaluationParam param = new TAIOralEvaluationParam();
param.context = this;
param.appId = "";
param.soeAppId ="";
param.licenseId=""; //申请到的licenseId
param.sessionId = UUID.randomUUID().toString();
param.workMode = TAIOralEvaluationWorkMode.ONCE;
param.evalMode = TAIOralEvaluationEvalMode.SENTENCE;
param.storageMode = TAIOralEvaluationStorageMode.DISABLE;
param.serverType = TAIOralEvaluationServerType.ENGLISH;
param.scoreCoeff = 1.0;
param.refText = "";
param.secretId = "";
param.secretKey = ""; //申请到的secretKey
AIRecorderParam recordParam = new TAIRecorderParam();
recordParam.fragSize = 1024;
recordParam.fragEnable = true;
recordParam.vadEnable = true;
recordParam.isOffline = true;
recordParam.vadInterval = Integer.parseInt(this.vadInterval.getText().toString());
this.oral.setRecorderParam(recordParam);
this.oral.startRecordAndEvaluation(param);

//结束录制
this.oral.stopRecordAndEvaluation();
外部录制(SDK 外部录制音频数据作为 API 调用参数)
//三、初始化参数
TAIOralEvaluationParam param = new TAIOralEvaluationParam();
param.context = this;
param.appId = "";
param.licenseId=""; //申请到的licenseId
param.sessionId = UUID.randomUUID().toString();
param.workMode = TAIOralEvaluationWorkMode.ONCE;
param.evalMode = TAIOralEvaluationEvalMode.SENTENCE;
param.storageMode = TAIOralEvaluationStorageMode.DISABLE;
param.serverType = TAIOralEvaluationServerType.ENGLISH;
param.fileType = TAIOralEvaluationFileType.Raw;
param.scoreCoeff = 1.0;
param.refText = "hello guagua";
param.secretId = "";
param.secretKey = ""; //申请到的secretKey
//四、传输数据
try{
InputStream is = getAssets().open("hello_guagua.wav");
byte[] buffer = new byte[is.available()];
is.read(buffer);
is.close();
TAIOralEvaluationData data = new TAIOralEvaluationData();
data.seqId = 1; //分片序号从1开始
data.bEnd = true;
data.audio = buffer;
this.oral.oralEvaluation(param, data);
}
catch (Exception e){
}
iOS:通过 CocoaPods 自动加载的方式集成 SDK,详情请见:测试申请 文档。
接口调用:

//实现协议
@protocol TAIOralEvaluationDelegate <NSObject>
/**
* 评估结果回调
* @param oralEvaluation 评测对象
* @param data 音频数据
* @param result 评估结果(最后一个分片返回,其他分片为nil)
* @param error 错误信息
*/
- (void)oralEvaluation:(TAIOralEvaluation *)oralEvaluation
onEvaluateData:(TAIOralEvaluationData *)data
result:(TAIOralEvaluationRet *)result
error:(TAIError *)error;
/**
* 静音检测回调 * @param oralEvaluation 评测对象
* @brief 检测到静音内部不会停止录制,业务层可以根据此回调主动停止录制或提示用户
*/- (void)onEndOfSpeechInOralEvaluation:(TAIOralEvaluation *)oralEvaluation;
/**
* 音量分贝变化
* @param oralEvaluation 评测对象
* @param volume 分贝大小
* @brief volume范围【0-120】
*/
- (void)oralEvaluation:(TAIOralEvaluation *)oralEvaluation onVolumeChanged:(NSInteger)volume;
//鉴权结果回调
- (void)onAuthResult:(TAIError *)error;
@end
//一、声明并定义对象
@property (strong, nonatomic) TAIOralEvaluation *oralEvaluation;self.oralEvaluation = [[TAIOralEvaluation alloc] init];
self.oralEvaluation.delegate = self;
//应用初始化的时候请求鉴权
//**************鉴权*****************************
TAISignParam *param = [[TAISignParam alloc] init];
param.appId = [PrivateInfo shareInstance].appId;
param.secretId = [PrivateInfo shareInstance].secretId;
param.secretKey = [PrivateInfo shareInstance].secretKey; p
aram.token = [PrivateInfo shareInstance].token;
param.licenseId = [PrivateInfo shareInstance].licenseId;
[self.oralEvaluation auth:param];

数据回调
-(void)oralEvaluation:(TAIOralEvaluation *)oralEvaluation onEvaluateData:(TAIOralEvaluationData *)data result:(TAIOralEvaluationRet *)result error:(TAIError *)error { //数据和结果回调(只有data.bEnd为YES,result有效) }
内部录制(SDK 内部录制音频并传输,推荐使用)
TAIOralEvaluationParam *param = [[TAIOralEvaluationParam alloc] init];
param.sessionId = [[NSUUID UUID] UUIDString];
param.appId = @"";
param.workMode = TAIOralEvaluationWorkMode_Once;
param.evalMode = TAIOralEvaluationEvalMode_Sentence;
param.storageMode = TAIOralEvaluationStorageMode_Disable;
param.serverType = TAIOralEvaluationServerType_English;
param.scoreCoeff = 1.0;
param.fileType = TAIOralEvaluationFileType_Mp3;
param.refText = @"";
param.secretId = @"";
param.secretKey = @"";
//四、开始录制
[self.oralEvaluation startRecordAndEvaluation:param callback:^(TAIError *error)
//结果返回
}];
//五、结束录制
[self.oralEvaluation stopRecordAndEvaluation:^(TAIError *error) {
//结果返回
}];
外部录制(SDK 外部录制音频数据作为 API 调用参数)
//三、初始化参数
TAIOralEvaluationParam *param = [[TAIOralEvaluationParam alloc] init];
param.sessionId = [[NSUUID UUID] UUIDString];
param.appId = @"";
param.workMode = TAIOralEvaluationWorkMode_Once;
param.evalMode = TAIOralEvaluationEvalMode_Sentence;
param.storageMode = TAIOralEvaluationStorageMode_Disable;
param.serverType = TAIOralEvaluationServerType_English;
param.scoreCoeff = 1.0;
param.fileType = TAIOralEvaluationFileType_Raw;
param.refText = @"hello guagua";
param.secretId = @"";
param.secretKey = @"";
NSString *wavPath = [[NSBundle mainBundle] pathForResource:@"hello_guagua" ofType:@"wav"];
TAIOralEvaluationData *data = [[TAIOralEvaluationData alloc] init];
data.seqId = 1;
data.bEnd = YES;
data.audio = [NSData dataWithContentsOfFile:wavPath];
__weak typeof(self) ws = self;
//四、传输数据
[self.oralEvaluation oralEvaluation:param data:data callback:^(TAIError *error) {
//接口调用结果返回
}];


请求参数

离线版 SDK 和在线版 SDK 除了需要激活,参数基本一致,可以参考 Android SDKiOS SDK