我使用的服务是:百度语音合成
调用的接口是:
int startStatus = [self.recognitionClient startVoiceRecognition:self];
参数设置情况:
// 设置开发者信息
[self.recognitionClient setApiKey:BAIDU_APIKEY withSecretKey:BAIDU_SECRETKEY];
LOG(@"语音识别模式 %@",@[[BDVRSConfig sharedInstance].recognitionProperty]);
// 设置语音识别模式,默认是输入模式
// [self.recognitionClient setPropertyList:@[[BDVRSConfig sharedInstance].recognitionProperty]];
[self.recognitionClient setPropertyList:[[BDVRSConfig sharedInstance] propertyList]];
// 设置城市ID,当识别属性包含EVoiceRecognitionPropertyMap时有效
[self.recognitionClient setCityID: 1];
// 设置是否需要语义理解,只在搜索模式有效
[self.recognitionClient setConfig:@"nlu" withFlag:[BDVRSConfig sharedInstance].isNeedNLU];
// 开启联系人识别
// [self.recognitionClient setConfig:@"enable_contacts" withFlag:YES];
// 设置识别语言
[self.recognitionClient setLanguage:[BDVRSConfig sharedInstance].recognitionLanguage];
// [[BDVoiceRecognitionClient sharedInstance] setNeedVadFlag:YES];
// 是否打开语音音量监听功能,可选
if ([BDVRSConfig sharedInstance].voiceLevelMeter)
{
BOOL res = [self.recognitionClient listenCurrentDBLevelMeter];
if (res == NO) // 如果监听失败,则恢复开关值
{
[BDVRSConfig sharedInstance].voiceLevelMeter = NO;
}
}
else
{
[self.recognitionClient cancelListenCurrentDBLevelMeter];
}
// 设置播放开始说话提示音开关,可选
[self.recognitionClient setPlayTone:EVoiceRecognitionPlayTonesRecStart isPlay:[BDVRSConfig sharedInstance].playStartMusicSwitch];
// 设置播放结束说话提示音开关,可选
[self.recognitionClient setPlayTone:EVoiceRecognitionPlayTonesRecEnd isPlay:[BDVRSConfig sharedInstance].playEndMusicSwitch];
// 加载离线识别引擎
NSString* appCode = BAIDU_APPID;
NSString* licenseFilePath= [[NSBundle mainBundle] pathForResource:@"bdasr_temp_license" ofType:@"dat"];
NSString* datFilePath = [[NSBundle mainBundle] pathForResource:@"s_1" ofType:@""];
NSString* LMDatFilePath = nil;
if ([[BDVRSConfig sharedInstance].recognitionProperty intValue] == EVoiceRecognitionPropertyMap) {
LMDatFilePath = [[NSBundle mainBundle] pathForResource:@"s_2_Navi" ofType:@""];
} else if ([[BDVRSConfig sharedInstance].recognitionProperty intValue] == EVoiceRecognitionPropertyInput) {
LMDatFilePath = [[NSBundle mainBundle] pathForResource:@"s_2_InputMethod" ofType:@""];
}
NSDictionary* recogGrammSlot = @{@"$name_CORE" : @"张三\n李四\n",
@"$song_CORE" : @"小苹果\n朋友\n",
@"$app_CORE" : @"QQ\n百度\n微信\n百度地图\n",
@"$artist_CORE" : @"刘德华\n周华健\n"};
int ret = [self.recognitionClient loadOfflineEngine:appCode
license:licenseFilePath
datFile:datFilePath
LMDatFile:LMDatFilePath
grammSlot:recogGrammSlot];
if (0 != ret) {
LOG(@"load offline engine failed: %d", ret);
return;
}
开发平台和机型: ios
SDK版本号:离在线融合SDK IOS版本 2.0.1
代码或日志截图(上传截图能帮助您更快解决问题):
复现步骤、现象及其他描述:
可以开始识别 但是识别一两次 就会出现这种情况
07随风:
帮忙看下 这个离线引擎这里 出错了
回复07随风:
您好,是使用demo出现的问题吗?可以先下载最新的SDK进行相关测试
帮忙看下 这个离线引擎这里 出错了