多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
IFlySpeechRecognizer是不带界面的语音听写控件,IFlyRecognizerView是带界面的控件,此处仅介绍不带界面的语音听写控件。使用示例如下所示: ~~~ //需要实现IFlyRecognizerViewDelegate识别协议 @interface IATViewController : UIViewController<IFlySpeechRecognizerDelegate> //不带界面的识别对象 @property (nonatomic, strong) IFlySpeechRecognizer *iFlySpeechRecognizer; @end //创建语音识别对象 _iFlySpeechRecognizer = [IFlySpeechRecognizer sharedInstance]; //设置识别参数 //设置为听写模式 [_iFlySpeechRecognizer setParameter: @"iat" forKey: [IFlySpeechConstant IFLY_DOMAIN]]; //asr_audio_path 是录音文件名,设置value为nil或者为空取消保存,默认保存目录在Library/cache下。 [_iFlySpeechRecognizer setParameter:@"iat.pcm" forKey:[IFlySpeechConstant ASR_AUDIO_PATH]]; //启动识别服务 [_iFlySpeechRecognizer start]; //IFlySpeechRecognizerDelegate协议实现 //识别结果返回代理 - (void) onResults:(NSArray *) results isLast:(BOOL)isLast{} //识别会话结束返回代理 - (void)onError: (IFlySpeechError *) error{} //停止录音回调 - (void) onEndOfSpeech{} //开始录音回调 - (void) onBeginOfSpeech{} //音量回调函数 - (void) onVolumeChanged: (int)volume{} //会话取消回调 - (void) onCancel{} ~~~ ## 音频流识别 音频流识别功能可以让开发者将已录制好的音频数据写入听写控件,最后得到识别结果。 ~~~ //设置音频源为音频流(-1) [self.iFlySpeechRecognizer setParameter:@"-1" forKey:@"audio_source"]; //启动识别服务 [self.iFlySpeechRecognizer startListening]; //写入音频数据 NSData *data = [NSData dataWithContentsOfFile:_pcmFilePath]; //从文件中读取音频 [self.iFlySpeechRecognizer writeAudio:data];//写入音频,让SDK识别。建议将音频数据分段写入。 //音频写入结束或出错时,必须调用结束识别接口 [self.iFlySpeechRecognizer stopListening];//音频数据写入完成,进入等待状态 ~~~