ios手机开发中遇到使用语音相关的功能时,可以参考下面的步骤进行操作:
1、到“讯飞”的官网中注册一个账号,申请一个秘钥appid(现在申请的时候好像非得绑定微信)
2、下载sdk,http://www.xfyun.cn/index.php/sdk/dispatcher
“iflyMSC.framework”便是下载好的 sdk库的名字
3、导入头文件#import <iflyMSC/IFlySpeechUtility.h>
//创建语音配置<一般在程序入口>
[IFlySpeechUtility createUtility:@"appid=54ca389d"];
4、在语音识别界面或者合成界面导入
//不带界面的语音合成
#import <iflyMSC/IFlySpeechSynthesizer.h>
#import <iflyMSC/IFlySpeechConstant.h>
//带界面的语音识别
#import <iflyMSC/IFlyRecognizerView.h>
#import <iflyMSC/IFlyDataUploader.h>
5、进入讯飞的开放平台,如下图所示:
6、剩下的就是按照需求根据上述文档进行操作了
/**
解析听写json格式的数据
params例如:
{"sn":1,"ls":true,"bg":0,"ed":0,"ws":[{"bg":0,"cw":[{"w":"白日","sc":0}]},{"bg":0,"cw":[{"w":"依山","sc":0}]},{"bg":0,"cw":[{"w":"尽","sc":0}]},{"bg":0,"cw":[{"w":"黄河入海流","sc":0}]},{"bg":0,"cw":[{"w":"。","sc":0}]}]}
****/
- (NSString *)stringFromJson:(NSString*)params
{
if (params == NULL) {
return nil;
}
NSMutableString *tempStr = [[NSMutableString alloc] init];
NSDictionary *resultDic = [NSJSONSerialization JSONObjectWithData: //返回的格式必须为utf8的,否则发生未知错误
[params dataUsingEncoding:NSUTF8StringEncoding] options:kNilOptions error:nil];
if (resultDic!= nil) {
NSArray *wordArray = [resultDic objectForKey:@"ws"];
for (int i = 0; i < [wordArray count]; i++) {
NSDictionary *wsDic = [wordArray objectAtIndex: i];
NSArray *cwArray = [wsDic objectForKey:@"cw"];
for (int j = 0; j < [cwArray count]; j++) {
NSDictionary *wDic = [cwArray objectAtIndex:j];
NSString *str = [wDic objectForKey:@"w"];
[tempStr appendString: str];
}
}
}
return tempStr;
}