+ * - (void) onResults:(NSArray *) results{
+ * NSMutableString *result = [[NSMutableString alloc] init];
+ * NSDictionary *dic = [results objectAtIndex:0];
+ * for (NSString *key in dic){
+ * [result appendFormat:@"%@",key];//合并结果
+ * }
+ * }
+ *
+ *
+ * @param results -[out] 识别结果,NSArray的第一个元素为NSDictionary,NSDictionary的key为识别结果,sc为识别结果的置信度。
+ * @param isLast -[out] 是否最后一个结果
+ */
+- (void) onResults:(NSArray *) results isLast:(BOOL)isLast{
+ NSLog(@"Speech :: onResults - %@", results);
+ if (self.callbackId) {
+ NSMutableString *text = [[NSMutableString alloc] init];
+ NSDictionary *dic = [results objectAtIndex:0];
+ for (NSString *key in dic) {
+ [text appendFormat:@"%@",key];
+ }
+ NSLog(@"Recognize Result: %@",text);
+
+ // NSString * resultFromJson = [ISRDataHelper stringFromJson:text];
+ //
+ // NSLog(@"---------%@",resultFromJson);
+
+ NSDictionary* info = [NSDictionary dictionaryWithObjectsAndKeys:@"SpeechResults",STR_EVENT,text,STR_RESULTS, nil];
+ CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:info];
+ [result setKeepCallbackAsBool:YES];
+ [self.commandDelegate sendPluginResult:result callbackId:self.callbackId];
+ }
+}
+
+/*!
+ * IFlySpeechRecognizerDelegate 音量变化回调
+ * 在录音过程中,回调音频的音量。
+ *
+ * @param volume -[out] 音量,范围从0-30
+ */
+
+- (void) onVolumeChanged:(int)volume
+{
+ NSLog(@"Speech :: onVolumeChanged - %d", volume);
+ if (self.callbackId) {
+ NSDictionary* info = [NSDictionary dictionaryWithObjectsAndKeys:@"VolumeChanged",STR_EVENT,[NSNumber numberWithInt:volume],STR_VOLUME, nil];
+ CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:info];
+ [result setKeepCallbackAsBool:YES];
+ [self.commandDelegate sendPluginResult:result callbackId:self.callbackId];
+ }
+}
+
+
+ /*!
+ * 识别结束回调
+ *
+ * @param error 识别结束错误码
+ */
+ - (void)onError: (IFlySpeechError *) error{
+ NSLog(@"Speech :: onError - %d", error.errorCode);
+ if (self.callbackId) {
+ NSDictionary* info = [NSDictionary dictionaryWithObjectsAndKeys:@"11SpeechError",STR_EVENT,[NSNumber numberWithInt:error.errorCode],STR_CODE,error.errorDesc,STR_MESSAGE, nil];
+ CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:info];
+ [result setKeepCallbackAsBool:YES];
+ [self.commandDelegate sendPluginResult:result callbackId:self.callbackId];
+ }
+ }
+
+
+#pragma mark IFlySpeechSynthesizerDelegate
+- (void) onCompleted:(IFlySpeechError*)error
+{
+ NSLog(@"Speech :: onCompleted - %d", error.errorCode);
+ if (self.callbackId) {
+ NSDictionary* info = [NSDictionary dictionaryWithObjectsAndKeys:@"SpeakCompleted",STR_EVENT,[NSNumber numberWithInt:error.errorCode],STR_CODE,error.errorDesc,STR_MESSAGE, nil];
+ CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:info];
+ [result setKeepCallbackAsBool:YES];
+ [self.commandDelegate sendPluginResult:result callbackId:self.callbackId];
+ }
+}
+
+- (void) onSpeakBegin
+{
+ NSLog(@"Speech :: onSpeakBegin");
+ [self fireEvent:@"SpeakBegin"];
+}
+
+- (void) onBufferProgress:(int)progress message:(NSString *)msg
+{
+ NSLog(@"Speech :: onBufferProgress - %d", progress);
+ if (self.callbackId) {
+ NSDictionary* info = [NSDictionary dictionaryWithObjectsAndKeys:@"BufferProgress",STR_EVENT,[NSNumber numberWithInt:progress],STR_PROGRESS,msg,STR_MESSAGE, nil];
+ CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:info];
+ [result setKeepCallbackAsBool:YES];
+ [self.commandDelegate sendPluginResult:result callbackId:self.callbackId];
+ }
+}
+
+- (void) onSpeakProgress:(int)progress
+{
+ NSLog(@"Speech :: onSpeakProgress - %d", progress);
+ if (self.callbackId) {
+ NSDictionary* info = [NSDictionary dictionaryWithObjectsAndKeys:@"SpeakProgress",STR_EVENT,[NSNumber numberWithInt:progress],STR_PROGRESS, nil];
+ CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:info];
+ [result setKeepCallbackAsBool:YES];
+ [self.commandDelegate sendPluginResult:result callbackId:self.callbackId];
+ }
+}
+
+- (void) onSpeakPaused
+{
+ NSLog(@"Speech :: onSpeakPaused");
+ [self fireEvent:@"SpeakPaused"];
+}
+
+- (void) onSpeakResumed
+{
+ NSLog(@"Speech :: onSpeakResumed");
+ [self fireEvent:@"SpeakResumed"];
+}
+
+- (void) onSpeakCancel
+{
+ NSLog(@"Speech :: onSpeakCancel");
+ [self fireEvent:@"SpeakCancel"];
+}
+
+- (void) fireEvent:(NSString*)event
+{
+ if (self.callbackId) {
+ NSDictionary* info = [NSDictionary dictionaryWithObject:event forKey:STR_EVENT];
+ CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:info];
+ [result setKeepCallbackAsBool:YES];
+ [self.commandDelegate sendPluginResult:result callbackId:self.callbackId];
+ }
+}
+
+
+
+
+
+@end
diff --git a/src/ios/iflyMSC.framework/Headers/IFlyContact.h b/src/ios/iflyMSC.framework/Headers/IFlyContact.h
new file mode 100644
index 0000000..22d4878
--- /dev/null
+++ b/src/ios/iflyMSC.framework/Headers/IFlyContact.h
@@ -0,0 +1,27 @@
+//
+// IFlyContact.h
+// msc
+//
+// Created by ypzhao on 13-3-1.
+// Copyright (c) 2013年 IFLYTEK. All rights reserved.
+//
+
+#import *参数 | 描述 | + *
---|---|
domain | 应用的领域: 取值为:iat、search、video、poi、music、asr; iat:普通文本听写; search:热词搜索; video:视频音乐搜索; video:视频音乐搜索; asr:关键词识别; |
vad_bos | 前端点检测: 静音超时时间,即用户多长时间不说话则当做超时处理; 单位:ms; engine指定iat识别默认值为5000; 其他情况默认值为 4000,范围 0-10000。 |
vad_eos | 后断点检测: 后端点静音检测时间,即用户停止说话多长时间内即认为不再输入, 自动停止录音;单位:ms; sms 识别默认值为 1800; 其他默认值为 700,范围 0-10000。 |
sample_rate | 采样率:目前支持的采样率设置有 16000 和 8000。 |
asr_ptt | 标点符号设置: 默认为 1,当设置为 0 时,将返回无标点符号文本。 |
result_type | 返回结果的数据格式: 可设置为json,xml,plain,默认为json。 |
grammarID | 识别的语法id: 只针对 domain 设置为”asr”的应用。 |
asr_audio_path | 音频文件名: 设置此参数后,将会自动保存识别的录音文件。 路径为Documents/(指定值)。 不设置或者设置为nil,则不保存音频。 |
params | 扩展参数: 对于一些特殊的参数可在此设置,一般用于设置语义。 |
*日志打印等级 | 描述 | + *
---|---|
LVL_ALL | 全部打印 |
LVL_DETAIL | 高,异常分析需要的级别 |
LVL_NORMAL | 中,打印基本日志信息 |
LVL_LOW | 低,只打印主要日志信息 |
LVL_NONE | 不打印 |
*云端发音人名称 | 参数 | + *
---|---|
小燕 | xiaoyan |
小宇 | xiaoyu |
凯瑟琳 | catherine |
亨利 | henry |
玛丽 | vimary |
小研 | vixy |
小琪 | vixq |
小峰 | vixf |
小梅 | vixl |
小莉 | vixq |
小蓉(四川话) | vixr |
小芸 | vixyun |
小坤 | vixk |
小强 | vixqa |
小莹 | vixying |
小新 | vixx |
楠楠 | vinn |
老孙 | vils |
*参数 | 描述 | + *
---|---|
domain | 应用的领域: 取值为:iat、search、video、poi、music、asr; iat:普通文本听写; search:热词搜索; video:视频音乐搜索; video:视频音乐搜索; asr:关键词识别; |
vad_bos | 前端点检测: 静音超时时间,即用户多长时间不说话则当做超时处理; 单位:ms; engine指定iat识别默认值为5000; 其他情况默认值为 4000,范围 0-10000。 |
vad_eos | 后断点检测: 后端点静音检测时间,即用户停止说话多长时间内即认为不再输入, 自动停止录音;单位:ms; sms 识别默认值为 1800; 其他默认值为 700,范围 0-10000。 |
sample_rate | 采样率:目前支持的采样率设置有 16000 和 8000。 |
asr_ptt | 标点符号设置: 默认为 1,当设置为 0 时,将返回无标点符号文本。 |
result_type | 返回结果的数据格式: 可设置为json,xml,plain,默认为json。 |
grammarID | 识别的语法id: 只针对 domain 设置为”asr”的应用。 |
asr_audio_path | 音频文件名: 设置此参数后,将会自动保存识别的录音文件。 路径为Documents/(指定值)。 不设置或者设置为nil,则不保存音频。 |
params | 扩展参数: 对于一些特殊的参数可在此设置,一般用于设置语义。 |
[_iFlySpeechRecognizer setParameter:@"audio_source" value:@"-1"];
+* [_iFlySpeechRecognizer startListening];
+* [_iFlySpeechRecognizer writeAudio:audioData1];
+* [_iFlySpeechRecognizer writeAudio:audioData2];
+* ...
+* [_iFlySpeechRecognizer stopListening];
+*
+*
+* @param audioData 音频数据
+*
+* @return 写入成功返回YES,写入失败返回NO
+*/
+- (BOOL) writeAudio:(NSData *) audioData;
+
+@end
+
diff --git a/src/ios/iflyMSC.framework/Headers/IFlySpeechRecognizerDelegate.h b/src/ios/iflyMSC.framework/Headers/IFlySpeechRecognizerDelegate.h
new file mode 100644
index 0000000..b565f1a
--- /dev/null
+++ b/src/ios/iflyMSC.framework/Headers/IFlySpeechRecognizerDelegate.h
@@ -0,0 +1,112 @@
+//
+// IFlySpeechRecognizerDelegate.h
+// MSC
+//
+// Created by ypzhao on 13-3-27.
+// Copyright (c) 2013年 iflytek. All rights reserved.
+//
+
+#import
+ * - (void) onResults:(NSArray *) results{
+ * NSMutableString *result = [[NSMutableString alloc] init];
+ * NSDictionary *dic = [results objectAtIndex:0];
+ * for (NSString *key in dic){
+ * [result appendFormat:@"%@",key];//合并结果
+ * }
+ * }
+ *
+ *
+ * @param results -[out] 识别结果,NSArray的第一个元素为NSDictionary,NSDictionary的key为识别结果,sc为识别结果的置信度。
+ * @param isLast -[out] 是否最后一个结果
+ */
+- (void) onResults:(NSArray *) results isLast:(BOOL)isLast;
+
+@optional
+
+/*!
+ * 音量变化回调
+ * 在录音过程中,回调音频的音量。
+ *
+ * @param volume -[out] 音量,范围从0-30
+ */
+- (void) onVolumeChanged: (int)volume;
+
+/*!
+ * 开始录音回调
+ * 当调用了`startListening`函数之后,如果没有发生错误则会回调此函数。
+ * 如果发生错误则回调onError:函数
+ */
+- (void) onBeginOfSpeech;
+
+/*!
+ * 停止录音回调
+ * 当调用了`stopListening`函数或者引擎内部自动检测到断点,如果没有发生错误则回调此函数。
+ * 如果发生错误则回调onError:函数
+ */
+- (void) onEndOfSpeech;
+
+/*!
+ * 取消识别回调
+ * 当调用了`cancel`函数之后,会回调此函数,在调用了cancel函数和回调onError之前会有一个
+ * 短暂时间,您可以在此函数中实现对这段时间的界面显示。
+ */
+- (void) onCancel;
+
+#ifdef _EDUCATION_
+/**
+ * 返回音频Key
+ *
+ * @param key 音频Key
+ */
+- (void) getAudioKey:(NSString *)key;
+
+#endif
+
+/**
+ * 扩展事件回调
+ * 根据事件类型返回额外的数据
+ *
+ * @param eventType 事件类型,具体参见IFlySpeechEventType的IFlySpeechEventTypeVoiceChangeResult枚举。
+ * @param arg0 arg0
+ * @param arg1 arg1
+ * @param eventData 事件数据
+ */
+- (void) onEvent:(int)eventType arg0:(int)arg0 arg1:(int)arg1 data:(NSData *)eventData;
+
+@end
diff --git a/src/ios/iflyMSC.framework/Headers/IFlySpeechSynthesizer.h b/src/ios/iflyMSC.framework/Headers/IFlySpeechSynthesizer.h
new file mode 100644
index 0000000..040f4a5
--- /dev/null
+++ b/src/ios/iflyMSC.framework/Headers/IFlySpeechSynthesizer.h
@@ -0,0 +1,128 @@
+//
+// IFlySpeechSynthesizer.h
+// MSC
+//
+// Created by 侯效林 on 16-4-22.
+// Copyright (c) 2016年 iflytek. All rights reserved.
+//
+
+#import 参数 | 描述 | + *
---|---|
speed | 合成语速,取值范围 0~100 |
volume | 合成的音量,取值范围 0~100 |
voice_name | 默认为”xiaoyan”;可以设置的参数列表可参考个性化发音人列表 |
sample_rate | 采样率:目前支持的采样率设置有 16000 和 8000。 |
tts_audio_path | 音频文件名 设置此参数后,将会自动保存合成的音频文件。 路径为Documents/(指定值)。不设置或者设置为nil,则不保存音频。 |
params | 扩展参数: 对于一些特殊的参数可在此设置。 |
*参数 | 描述 | + *
---|---|
domain | 应用的领域: 取值为:iat、search、video、poi、music、asr; iat:普通文本听写; search:热词搜索; video:视频音乐搜索; video:视频音乐搜索; asr:关键词识别; |
vad_bos | 前端点检测: 静音超时时间,即用户多长时间不说话则当做超时处理; 单位:ms; engine指定iat识别默认值为5000; 其他情况默认值为 4000,范围 0-10000。 |
vad_eos | 后断点检测: 后端点静音检测时间,即用户停止说话多长时间内即认为不再输入, 自动停止录音;单位:ms; sms 识别默认值为 1800; 其他默认值为 700,范围 0-10000。 |
sample_rate | 采样率:目前支持的采样率设置有 16000 和 8000。 |
asr_ptt | 标点符号设置: 默认为 1,当设置为 0 时,将返回无标点符号文本。 |
result_type | 返回结果的数据格式: 可设置为json,xml,plain,默认为json。 |
grammarID | 识别的语法id: 只针对 domain 设置为”asr”的应用。 |
asr_audio_path | 音频文件名: 设置此参数后,将会自动保存识别的录音文件。 路径为Documents/(指定值)。 不设置或者设置为nil,则不保存音频。 |
params | 扩展参数: 对于一些特殊的参数可在此设置,一般用于设置语义。 |
{\"userword\":[{\"name\":\"iflytek\",\"words\":[\"科大讯飞\",
+ * \"云平台\",\"用户词条\",\"开始上传词条\"]}]}
+ *
+ * @param json 初始化时传入的数据
+ *
+ * @return IFlyUserWords对象
+ */
+- (id) initWithJson:(NSString *)json;
+
+/*!
+ * 将数据转化为上传的数据格式
+ *
+ * @return 没有数据或者格式不对时返回nil
+ */
+- (NSString *) toString;
+
+/*!
+ * 返回key对应的数据
+ *
+ * @param key 在putword:value中设置的key
+ *
+ * @return key对应的数组
+ */
+- (NSArray *) getWords: (NSString *) key;
+
+/*!
+ * 添加一条用户词数据
+ *
+ * @param key 用户词对应的key
+ * @param value 上传的用户词数据
+ *
+ * @return 成功返回YES,失败返回NO
+ */
+- (BOOL) putWord: (NSString *) key value:(NSString *)value;
+
+/*!
+ * 添加一组数据
+ *
+ * @param key 用户词对应的key
+ * @param words 上传的用户词数据
+ *
+ * @return 成功返回YES,失败返回NO
+ */
+- (BOOL) putwords: (NSString *) key words:(NSArray *)words;
+
+/*!
+ * 是否包含key对应的用户词数据
+ *
+ * @param key 用户词对应的key
+ *
+ * @return 成功返回YES,失败返回NO
+ */
+- (BOOL) containsKey: (NSString *) key;
+@end
diff --git a/src/ios/iflyMSC.framework/Headers/IFlyVoiceWakeuper.h b/src/ios/iflyMSC.framework/Headers/IFlyVoiceWakeuper.h
new file mode 100644
index 0000000..6a43695
--- /dev/null
+++ b/src/ios/iflyMSC.framework/Headers/IFlyVoiceWakeuper.h
@@ -0,0 +1,179 @@
+//
+// IFlyVoiceWakeuper.h
+// wakeup
+//
+// Created by admin on 14-3-18.
+// Copyright (c) 2014年 iflytek. All rights reserved.
+//
+
+
+#import