讯飞语音

* 在讯飞语音开发者平台上http://www.xfyun.cn/doccenter/newer具体准备工作按照开发文档操作。注意的是创建一个项目,appid和adk是一一对应的*
在这里,写了一个语音转化为文本,文本转化为语音的工具类VoiceUtils

public class VoiceUtils {/*** 文本转换成语音*/public static void textToVoice(Context context, String text) {//1.创建SpeechSynthesizer对象, 第一个参数上下文,第二个参数:本地合成时传InitListenerSpeechSynthesizer mTts = SpeechSynthesizer.createSynthesizer(context, null);//2.合成参数设置,详见《科大讯飞MSC API手册(Android)》SpeechSynthesizer 类mTts.setParameter(SpeechConstant.VOICE_NAME, "xiaoyan");//设置发音人mTts.setParameter(SpeechConstant.SPEED, "50");//设置语速mTts.setParameter(SpeechConstant.VOLUME, "80");//设置音量,范围0~100mTts.setParameter(SpeechConstant.ENGINE_TYPE, SpeechConstant.TYPE_CLOUD);//设置合成音频保存位置(可自定义保存位置),保存在“./sdcard/iflytek.pcm”//保存在SD卡需要在AndroidManifest.xml添加写SD卡权限//如果不需要保存合成音频,注释该行代码mTts.setParameter(SpeechConstant.TTS_AUDIO_PATH, "./sdcard/iflytek.pcm");//3.开始合成,第一个参数就是转成声音的文字,可以自定义  第二个参数是合成监听器对 象。 我们不需要对声音有什么特殊处理,就传nullmTts.startSpeaking(text, null);}/*** 语音转换为文本** @param context*/public static void voiceToText(final Context context, final EditText view) {RecognizerDialog dialog = new RecognizerDialog(context, null);Log.e("ZHAOYALAN", "DIALOG" + dialog);dialog.setParameter(SpeechConstant.LANGUAGE, "zh_cn");dialog.setParameter(SpeechConstant.ACCENT, "mandarin");dialog.setListener(new RecognizerDialogListener() {@Overridepublic void onResult(RecognizerResult recognizerResult, boolean b) {String s = printResult(recognizerResult);view.append(s);//Toast.makeText(context, "监听说话正确", Toast.LENGTH_SHORT).show();}@Overridepublic void onError(SpeechError speechError) {switch (speechError.getErrorCode()) {case 20001:Toast.makeText(context, "请检查网络", Toast.LENGTH_SHORT).show();break;case 20016:Toast.makeText(context, "请允许程序获取录音权限", Toast.LENGTH_SHORT).show();break;case 10118:Toast.makeText(context, "您好像没有说话", Toast.LENGTH_SHORT).show();break;default:Toast.makeText(context, "异常", Toast.LENGTH_SHORT).show();break;}}});dialog.show();//Toast.makeText(context, "请开始说话", Toast.LENGTH_SHORT).show();}//回调结果:private static String printResult(RecognizerResult results) {String text = parseIatResult(results.getResultString());return text;}public static String parseIatResult(String json) {StringBuffer ret = new StringBuffer();try {JSONTokener tokener = new JSONTokener(json);JSONObject joResult = new JSONObject(tokener);JSONArray words = joResult.getJSONArray("ws");for (int i = 0; i < words.length(); i++) {// 转写结果词,默认使用第一个结果JSONArray items = words.getJSONObject(i).getJSONArray("cw");JSONObject obj = items.getJSONObject(0);ret.append(obj.getString("w"));}} catch (Exception e) {e.printStackTrace();}return ret.toString();}
}

Android中集成讯飞语音,语音转文字以及文字转语音操作相关推荐

  1. 集成讯飞离线语音合成SDK报:“ 未经授权的语音应用.(错误码:11210)“ 问题解决

    报错信息:"未经授权的语音应用 错误码:11210" 一,首先检查下载的sdk 是否与appid对应 sdk必须和注册appid对应,否则用sdk 只替换appid 无法正常使用 ...

  2. java 集成讯飞语音 pc_【报Bug】sdk集成 讯飞语音输入jar包报错

    sdk集成 讯飞语音输入jar包报错 Caused by: org.gradle.api.internal.artifacts.transform.TransformException: Execut ...

  3. Android Studio快速集成讯飞SDK实现文字朗读功能

    今天,我们来学习一下怎么在Android Studio快速集成讯飞SDK实现文字朗读功能,先看一下效果图: 第一步 :了解TTS语音服务 TTS的全称为Text To Speech,即"从文 ...

  4. 移动端点击拉起输入_没广告、无捆绑、真清流!讯飞输入法PC版评测:跨屏语音动口不动手...

    原标题:没广告.无捆绑.真清流!讯飞输入法PC版评测:跨屏语音动口不动手 一.前言:等待五年 讯飞输入法PC版终于回来了 大家所熟知的讯飞输入法,最早是在Android和iOS等移动端起家,并凭借强大 ...

  5. android 语音识别 之 讯飞话音移植

    http://www.myexception.cn/android/1166876.html android 语音识别 之 讯飞语音移植 一.简介 语音识别现在应用越来越广泛了 比如语音写短信.语音搜 ...

  6. Android中集成高德地图SDK实现地图定位和导航功能(二)

    我们接着上一篇文章开始继续实现android中集成高德地图的SDK实现地图 定位,搜索,导航的功能 如何让地图在手机上实现呢? 1.配置AndroidManifest 中的权限申请 可以参考官方文档 ...

  7. Android中集成第三方库的方法和问题

    Android中集成第三方库的方法和问题 声明: 1. 本文參考了网上同学们的现有成果,在此表示感谢,參考资料在文后有链接. 2. 本文的重点在第三部分,是在开发中遇到的问题及解决的方法.第一,第二部 ...

  8. Android中集成Jpush实现推送消息通知与根据别名指定推送附示例代码下载

    场景 经常会有后台服务向Android推送消息通知的情况. 实现 首先在Android Studio中新建一个Android应用 在Project根目录的build.gradle中配置了jcenter ...

  9. 安卓Android中腾讯音视频和直播 API的使用

    安卓Android中腾讯音视频和直播 API的使用 文章目录 安卓Android中腾讯音视频和直播 API的使用 前言:安卓Android中腾讯音视频和直播 API的使用,这里没有写UI,功能是放在一 ...

最新文章

  1. 如何在sqlite3连接中创建并调用自定义函数
  2. cronexpression 详解
  3. PAT甲级1015 Reversible Primes :[C++题解]进制位、秦九韶算法、判质数
  4. Java 集合类图(转)
  5. 消息系统kafka原理解析
  6. 专访 | 周涛:从窄门进最终走出宽路来
  7. Python 三级菜单
  8. 安装包卸载时如何删除安装时写在系统环境变量中的内容
  9. 【转载保存】获取页面编码
  10. 【研究】Joomla二阶注入
  11. java maxheap_Java底层PriorityQueue 优先队列——基于MaxHeap最大堆
  12. PHP 命令行之-F (--process-file) 对每个输入行都执行 PHP 文件 (PHP 5 新加)
  13. redis可视化客户端工具TreeNMS
  14. pascal-5i 数据集
  15. js数组方法及返回值
  16. 新版win10的恢复语言栏设置
  17. Android KitKat 外部存储权限分析
  18. Database connections will be migrated
  19. 大数据概述:大数据生态系统
  20. npm start运行成功界面,及网址运行界面

热门文章

  1. 查看连接过的WIFI密码方法汇总
  2. matlab指派问题求法,MATLAB实例:Munkres指派算法
  3. 机器学习作业之波士顿房价(boston)数据分析与绘图(注释我都写了这么多,我不信你还看不懂?)
  4. python 作用域知识点整理
  5. 腾讯云下centos git 克隆远程仓库
  6. 我想学习编程, 但不知道从哪里开始
  7. 解决VMbox中软连接创建错误的问题
  8. B002 - 基于嵌入式的老人定位追踪监测仪
  9. 乒乓球比赛赛程_2018国际乒联乒乓球重大赛事详细赛程表,看点爆点早知道
  10. 第一代GCN: Spectral Networks and Locally Connected Networks on Graphs