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)onCompleted: (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];//音频数据写入完成,进入等待状态
Copyright © iflytek.com 2018 all right reserved,powered by Gitbook该文件修订时间: 2018-07-13 09:08:20

results matching ""

    No results matching ""