前言:小白第一次接入科大讯飞语音听写,接入还是比较简单的,先看效果图无UI界面

Demo地址拿去

效果图有两部分,一是接入科大讯飞语音听写功能,可以实现将语音转换成文字。 二是看到的语音音量动画效果,为了更加形象。
接入科大讯飞第一步需要自己去科大讯飞开发者中心申请应用,只有应用申请成功才能获取到AppID才可以正常接入语音听写,接入部分大家可以去科大讯飞开发者中心去看开发文档,这里主要讲一下运用到工程中
1.获取APPID, 添加服务,下载对应的SDK,拿到SDK里边的iflyMSC.framework,放入自己创建好的工程中

2.添加对应的framework依赖

正常到这里,接入讯飞语音基本完成,下边是代码部分
AppDelegate里边按着开发者文档走
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {// Override point for customization after application launch.self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];self.window.backgroundColor = [UIColor whiteColor];ViewController * vc = [[ViewController alloc]init];UINavigationController * nav = [[UINavigationController alloc]initWithRootViewController:vc];self.window.rootViewController = nav;[self.window makeKeyAndVisible];[self createOtherFrameWork];return YES;
}
// 初始化讯飞
- (void)createOtherFrameWork{//设置sdk的log等级,log保存在下面设置的工作路径中[IFlySetting setLogFile:LVL_ALL];//打开输出在console的log开关[IFlySetting showLogcat:YES];//设置sdk的工作路径NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);NSString *cachePath = [paths objectAtIndex:0];[IFlySetting setLogFilePath:cachePath];NSString *initString = [[NSString alloc] initWithFormat:@"appid=%@", APPID];[IFlySpeechUtility createUtility:initString];
}- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{[[IFlySpeechUtility getUtility] handleOpenURL:url];return YES;
}
ViewController.m里边写入正常的无UI添加方法
@property (nonatomic, strong) IFlySpeechRecognizer *iFlySpeechRecognizer;
创建语音识别对象
- (void)MSCSpeech{//创建语音识别对象_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 setParameter:@"0" forKey:[IFlySpeechConstant ASR_PTT]];[_iFlySpeechRecognizer setDelegate: self];[self.view addSubview:self.speechButton];[self.view addSubview:self.speechLabel];//[self.view addSubview:self.audioStreamButton];//启动识别服务// [_iFlySpeechRecognizer startListening];if (_speechView == nil) {_speechView = [MSCVoiceRecordToastContentView new];_speechView.center = CGPointMake(self.view.frame.size.width/2, self.speechButton.frame.origin.y-100);_speechView.bounds = CGRectMake(0, 0, 120, 120);_speechView.backgroundColor = [[UIColor blackColor]colorWithAlphaComponent:0.5];_speechView.layer.cornerRadius = 6;_speechView.hidden = YES;[self.view addSubview:_speechView];}}
当然声明代理,同时科大讯飞语音delegate的几个回调方法也要写出来
//IFlySpeechRecognizerDelegate协议实现
//识别结果返回代理
- (void) onResults:(NSArray *) results isLast:(BOOL)isLast{NSMutableString *resultString = [[NSMutableString alloc] init];NSDictionary *dic = results[0];for (NSString *key in dic) {[resultString appendFormat:@"%@",key];}NSString * resultFromJson =  [MSCHelper stringFromJson:resultString];self.speechLabel.text = [NSString stringWithFormat:@"%@%@", self.speechLabel.text,resultFromJson];// NSLog(@"当前获取的数据 :  %@",resultFromJson);if ([_iFlySpeechRecognizer isListening]) {NSLog(@"正在识别");}}
//识别会话结束返回代理
- (void)onError: (IFlySpeechError *) error{NSLog(@"错误原因 : %@",error.errorDesc);if (self.speechButton.selected) {[_iFlySpeechRecognizer startListening];}else{[_iFlySpeechRecognizer cancel];}
}
//停止录音回调
- (void) onEndOfSpeech{NSLog(@"结束录音");
}
//开始录音回调
- (void) onBeginOfSpeech{NSLog(@"开始录音");
}
//音量回调函数
- (void) onVolumeChanged: (int)volume{[self.speechView updateWithPower:volume];
}
//会话取消回调
- (void) onCancel{NSLog(@"取消了当前会话");
}
这里科大讯飞语音听写功能就接入完毕了,可以尝试运行程序了。但是我个人感觉看着没有UI界面的心里难受。所以自己写了一个语音音量动画,包括定时器。使用方法比较简单,效果就是上边看到的效果图。这两天网络比较差,翻墙老是被卡住,有时间把Demo给大家放出来,或者有需要的在下方给我留言,

接入科大讯飞语音听写,增加语音动画,类似京东语音搜索功能相关推荐

  1. html5语音听写流式,iOS 讯飞语音听写(流式版)

    最近项目中用到了讯飞的语音识别,然后稍微看了一下,里面有几个值得注意的点,记录一下,先说语音听写(流式版),实时语音转写后期会附上 ,文末有 demo //语音听写(流式版) 语音听写流式版其实没设么 ...

  2. 实现类似Android联系人搜索功能

    1>效果如下: 执行搜索: 2>布局文件如下: res/layout/main_activity.xml <LinearLayout xmlns:android="http ...

  3. 列出搜索过的数据(类似京东顶部搜索框)

    tip: 只要进行数据绑定,一定要先检查是否在app_module.ts中进行过formsModule的数据引入,如果没有进行引入,在数据绑定的时候会出现报错 例一:京东搜索,历史记录 html: & ...

  4. android集成科大讯飞语音听写和语音合成

    android集成科大讯飞语音听写和语音合成 集成科大讯飞语音听写和语音合成,语音听写只是语音识别下面的一部分,别弄混淆了,由于科大讯飞暂未开放gradle引包方式,所以目前集成还是手动引包.我的流程 ...

  5. 909422229_科大讯飞语音听写Java web API接口

    技术交流群:958923746,有学习视频,文档等. 1. 接口说明 语音听写接口可将语音(≤60秒)转换成对应的文字信息.本接口适用于将音频一次性发送至云端,块式传输. 2. 接口地址 POST h ...

  6. Unity接入科大讯飞的语音sdk

    在Unity中添加语音识别功能方法有许多,这里像大家介绍怎么接入科大讯飞的语音sdk 1.来到科大讯飞的官方网站https://www.xfyun.cn   没有账号的去注册一个即可. 2.登录上之后 ...

  7. 科大讯飞开放平台——语音听写接口的使用

    科大讯飞开放平台--语音听写接口的使用 最近一个项目要用到一个语音识别的功能,主要目的是把用户说的话转换成文字,然后再做其他处理.找了多个语音识别的第三方SDK,比如百度语音识别.微信语音识别.科大讯 ...

  8. Android 科大讯飞 语音听写

    这几天在搞一个语音识别的项目 用到i的是科大讯飞的语音服务,第一次搞语音识别,在这里记录一下,也希望对大家有用.废话不多说进入正题 一.要用到科大讯飞的语音识别功能,肯定是要他的开发者平台申请账号,创 ...

  9. 科大讯飞(语音合成和语音听写)

    由于google的自带的TTS不支持中文转语音.所以很无奈的只能选择语音龙头中的科大讯飞了 本文章只是简单的实现语音合成和语音听写 package com.example.viocedemo;impo ...

最新文章

  1. 顺序表-顺序表表示集合-交集( for + whlie ,不断遍历)
  2. 如何复制百度文库中的文章
  3. 【mmdetection】参数解析 转载
  4. 国内MCU厂商也开始卷了
  5. 数仓集群管理:单节点故障RTO机制分析
  6. struts获取ajax传值,struts 接收 jquery带参数ajax请求
  7. 运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(七)
  8. ERWIN中表结构导出到doc文件中
  9. 使用LSTM生成序列、自动问答使用?分割即可!
  10. novoton-msys_init函数
  11. python3 判断.xlsl表的两列是否一致
  12. 无标号有根树计数与无标号无根树计数
  13. 创业者应该问投资人的10个问题
  14. 上海生活品质远不如深圳——深圳与上海比较
  15. IDEA中使用maven 创建 的ssm项目使用sprimg mvc国际化功能报错No message found under code ‘welcome‘ for locale ‘en_US'
  16. Google账户二次验证取消
  17. ubuntu 20.04 设置DNS
  18. 智能算法---蚁群算法介绍
  19. git pull常见操作
  20. MES与ERP的集成

热门文章

  1. Skywalking UI使用攻略
  2. SAP UI5 应用开发教程之八十二 - 采用 OPA5 开发支持页面跳转的 SAP UI5 集成测试用例试读版
  3. python创建数据库字数不限制_KindEditor设置字数限制
  4. 【笔记】Every Document Owns Its Structure Inductive Text Classifification via
  5. 大厂项目经理分享 Code Review经验
  6. codeforces1379B Dubious Cyrpto
  7. 孩子握笔姿势错误也易致近视
  8. 云计算技术体系结构由这四点组成
  9. python控制结束多线程_python进阶八——并发编程之多线程
  10. Redis~集群(分布理论、一致性哈希分区、虚拟槽分区、节点握手、集群通信、集群伸缩、请求路由、故障转移、集群维护)