1.EVoiceRecognitionStartWorkPropertyInvalid, // 设置的识别属性无效
用swift 做撰写时
func showBaiduVoiceRecognizer1(){
//set up developer info,
BDVoiceRecognitionClient.sharedInstance().setApiKey(BDVRSConstant.API_KEY, withSecretKey: BDVRSConstant.SECRET_KEY)
//let temp = [bdConfig.recognitionProperty] // 设置语音识别模式,默认是输入模式
BDVoiceRecognitionClient.sharedInstance().setPropertyList(["\(BDVRSConfig.shareInstance.recognitionProperty)"])
//BDVoiceRecognitionClient.sharedInstance().setProperty(TBDVoiceRecognitionProperty.init(BDVRSConfig.shareInstance.recognitionProperty))
//设置城市ID,当识别属性包含EVoiceRecognitionPropertyMap时有效
BDVoiceRecognitionClient.sharedInstance().setCityID(1)
// 设置是否需要语义理解,只在搜索模式有效
BDVoiceRecognitionClient.sharedInstance().setConfig("nlu", withFlag: BDVRSConfig.shareInstance.isNeedNLU)
// 设置识别语言
BDVoiceRecognitionClient.sharedInstance().setLanguage(Int32(BDVRSConfig.shareInstance.recognitionLanguage))
// 是否打开语音音量监听功能,可选
if BDVRSConfig.shareInstance.voiceLevelMeter {
let res:Bool = BDVoiceRecognitionClient.sharedInstance().listenCurrentDBLevelMeter()
if res == false {
BDVRSConfig.shareInstance.voiceLevelMeter = false
}
}else{
BDVoiceRecognitionClient.sharedInstance().cancelListenCurrentDBLevelMeter()
}
// 设置播放开始说话提示音开关,可选
BDVoiceRecognitionClient.sharedInstance().setPlayTone(Int32(EVoiceRecognitionPlayTonesRecStart.rawValue), isPlay: BDVRSConfig.shareInstance.playStartMusicSwitch)
// 设置播放结束说话提示音开关,可选
BDVoiceRecognitionClient.sharedInstance().setPlayTone(Int32(EVoiceRecognitionPlayTonesRecEnd.rawValue), isPlay: BDVRSConfig.shareInstance.playEndMusicSwitch)
// 加载离线识别引擎
// NSString* licenseFilePath= [[NSBundle mainBundle] pathForResource:@"bdasr_temp_license" ofType:@"dat"];
let dataPath:String = NSBundle.mainBundle().pathForResource("s_1", ofType: "")!
var LMDatFilePath:String?
if BDVRSConfig.shareInstance.recognitionProperty == EVoiceRecognitionPropertyMap.rawValue {
LMDatFilePath = NSBundle.mainBundle().pathForResource("s_2_Navi", ofType: "")
}else if BDVRSConfig.shareInstance.recognitionProperty == EVoiceRecognitionPropertyInput.rawValue {
LMDatFilePath = NSBundle.mainBundle().pathForResource("s_2_InputMethod", ofType: "")
}
let recogGrammSlot:NSDictionary = ["$name_CORE":"张三\n李四\n",
"$song_CORE":"小苹果\n朋友\n",
"$app_CORE":"QQ\n百度\n微信\n百度地图\n",
"$artist_CORE":"刘德华\n周华健\n"];
//NSString* lincenseFilePath = [[NSBundle mainBundle] pathForResource:@"temp_license_2016-03-22" ofType:@""];
let licenseFilePath:String? = NSBundle.mainBundle().pathForResource("temp_license_2016-03-22", ofType: "")
let ret = BDVoiceRecognitionClient.sharedInstance().loadOfflineEngine(BDVRSConstant.APPID, license: licenseFilePath, datFile: dataPath, LMDatFile: LMDatFilePath, grammSlot: recogGrammSlot as [NSObject : AnyObject])
if (0 != ret) {
print("load offline engine failed: %d", ret);
return;
}
var startStatus:Int32 = -1
startStatus = BDVoiceRecognitionClient.sharedInstance().startVoiceRecognition(self)
print(startStatus)
// 创建语音识别界面,在其viewdidload方法中启动语音识别
//var tmpAudioViewController = BDVRCustomRecognitonViewController.init(nibName: nil, bundle: nil)
//self.audioViewController = tmpAudioViewController
//UIApplication.sharedApplication().keyWindow?.addSubview(audioViewController!.view)
}//showBaiduVoiceRecognizer()
一直无法 回传 2000成功 永远都是 2008 识别属性无效 请问是哪边出错了
另外 如果使用 BDRecognizerViewController 有稍微跳出视窗请等待,没有跳出输入语音的视窗 但是马上就消失 请问可能是和问题
请阅读文档,文档中有关于属性设置的详细描述。