最近在做一个项目,其中有一个功能是需要将文本转换成语音并播放出来。像那种语音来订单播报一样

好了,明确了需求那就开始着手做

第一步先去讯飞开放平台注册自己账号什么的-----https://www.xfyun.cn/

第二步,创建自己的应用,然后下载集成所需要的sdk开发包

第三步,开始集成android集成,导入sdk,加权限,初始化,混淆------https://doc.xfyun.cn/msc_android/index.html

(这个是下载所需要的sdk的jar包和jniLibs的位置)

然后开始写你的逻辑,我的是简单的一些功能,(就一个文字转语音,后期添加什么自己写逻辑)

上代码

 /*** 文字转声音*/private void textToVoice() {//1.创建 SpeechSynthesizer 对象, 第二个参数: 本地合成时传 InitListenerSpeechSynthesizer mTts = SpeechSynthesizer.createSynthesizer(getActivity(), null);
//2.合成参数设置,详见《 MSC Reference Manual》 SpeechSynthesizer 类
//设置发音人(更多在线发音人,用户可参见 附录13.2mTts.setParameter(SpeechConstant.VOICE_NAME, "xiaoyan"); //设置发音人mTts.setParameter(SpeechConstant.SPEED, "50");//设置语速mTts.setParameter(SpeechConstant.VOLUME, "100");//设置音量,范围 0~100mTts.setParameter(SpeechConstant.ENGINE_TYPE, SpeechConstant.TYPE_CLOUD); //设置云端
//设置合成音频保存位置(可自定义保存位置),保存在“./sdcard/iflytek.pcm”
//保存在 SD 卡需要在 AndroidManifest.xml 添加写 SD 卡权限
//仅支持保存为 pcm 和 wav 格式, 如果不需要保存合成音频,注释该行代码mTts.setParameter(SpeechConstant.TTS_AUDIO_PATH, "./sdcard/iflytek.pcm");
//3.开始合成mTts.startSpeaking(tvRefuseTxtovoice.getText().toString().trim(), mSynListener);}//合成监听器private SynthesizerListener mSynListener = new SynthesizerListener() {//会话结束回调接口,没有错误时, error为nullpublic void onCompleted(SpeechError error) {Log.e("TAG", "合成监听器onCompleted----error------"+error);}//缓冲进度回调
//percent为缓冲进度0~100, beginPos为缓冲音频在文本中开始位置, endPos表示缓冲音频在//文本中结束位置, info为附加信息。public void onBufferProgress(int percent, int beginPos, int endPos, String info) {}//开始播放public void onSpeakBegin() {}//暂停播放public void onSpeakPaused() {}//播放进度回调
//percent为播放进度0~100,beginPos为播放音频在文本中开始位置, endPos表示播放音频在文//本中结束位置.public void onSpeakProgress(int percent, int beginPos, int endPos) {}//恢复播放回调接口public void onSpeakResumed() {}//会话事件回调接口public void onEvent(int arg0, int arg1, int arg2, Bundle arg3) {}};

这个是语音转文字

 private void voiceToText() {//1.创建RecognizerDialog对象RecognizerDialog mDialog = new RecognizerDialog(this, new MyInitListener());//2.设置accent、 language等参数mDialog.setParameter(SpeechConstant.LANGUAGE, "zh_cn");//中文mDialog.setParameter(SpeechConstant.ACCENT, "mandarin");//普通话//若要将UI控件用于语义理解,必须添加以下参数设置,设置之后onResult回调返回将是语义理解
//结果
// mDialog.setParameter("asr_sch", "1");
// mDialog.setParameter("nlp_version", "2.0");
//3.设置回调接口mDialog.setListener(new MyRecognizerDialogListener());
//4.显示dialog,接收语音输入mDialog.show();}class MyRecognizerDialogListener implements RecognizerDialogListener {/*** 返回的结果** @param recognizerResult* @param b                是否说话结束*/@Overridepublic void onResult(RecognizerResult recognizerResult, boolean b) {String result = recognizerResult.getResultString();printResult(recognizerResult);Log.e("TAG", "result==" + result);
//            Toast.makeText(MainActivity.this, "result=="+result, Toast.LENGTH_SHORT).show();}/*** 出错的回调** @param speechError*/@Overridepublic void onError(SpeechError speechError) {}}class MyInitListener implements InitListener {@Overridepublic void onInit(int i) {if (i != ErrorCode.SUCCESS) {Toast.makeText(MainActivity.this, "初始化失败了", Toast.LENGTH_SHORT).show();}}}private void printResult(RecognizerResult results) {String text = JsonParser.parseIatResult(results.getResultString());String sn = null;// 读取json结果中的sn字段try {JSONObject resultJson = new JSONObject(results.getResultString());sn = resultJson.optString("sn");} catch (JSONException e) {e.printStackTrace();}mIatResults.put(sn, text);StringBuffer resultBuffer = new StringBuffer();for (String key : mIatResults.keySet()) {resultBuffer.append(mIatResults.get(key));}String reuslt = resultBuffer.toString().replace("。", "");et_input.setText(reuslt);et_input.setSelection(et_input.length());}

以上就是简单的文字转语音,语音转文字

科大讯飞网址---https://www.xfyun.cn/

集成简单的科大讯飞文字转语音相关推荐

  1. 【虚幻引擎】UE4/UE5科大讯飞文字合成语音

    一.链接地址 链接:https://pan.baidu.com/s/15Qoc48x3DLpw4eW1qHXInQ  提取码:jqpx  B站视频链接:https://space.bilibili.c ...

  2. 迅捷语音云服务在线文字转语音的方法

    当我们在工作中,我们会用到不同的文字形式,我们需要这些文字转换成语音的形式,下面就让小编给大家介绍一下. 步骤一:然后通过搜索迅捷语音云服务,我们可以直接进入到在线转换中,找到文字转语音: 步骤二:然 ...

  3. Android百度语音集成——文字转语音

    项目涉及文字转语音的需求,用Android原生提供的TTS生成的语音太单调,机器声音太明显,故寻求第三方更好的支持,用科大讯飞的语音包收费,百度语音免费而且不限制调用次数,主页鲜明说永久免费的智能语音 ...

  4. 安卓文字转语音——其实可以很简单——TextToSpeech用法解析

    前言 很多时候我们会碰到文字转语音的需求,使用第三方sdk是个不错的选择,其实也可以更简单,安卓原生就提供了一个类处理这个事务.TextToSpeech无需集成,直接使用 局限 支持22种语言,不过中 ...

  5. python 科大讯飞 文本转语音接口 + QT简单界面

    文本转语音 前提 源码 解释 缺陷 打包 由于是实验做的,且有点赶,也就没有怎么整理和疏通,只要能运行就行了.所以仅供借鉴,问题肯定很多,在这只是记录一下所学. 前提 首先你需要注册科大讯飞AI开放平 ...

  6. 基于ROS2和科大讯飞的文字转语音TTS入门教程

    基于ROS2和科大讯飞的语音转文字入门教程 基于ROS2和科大讯飞的文字转语音TTS入门教程 1.环境搭建 2.创建工程 3.编译和执行 基于ROS2和科大讯飞的文字转语音TTS入门教程 本文将展示, ...

  7. PHP文字转语音排号声音,PC端好用的文字转语音软件有哪些?三款简单易用的软件推荐给你!...

    在我们的日常生活中,语音和文字这两种沟通形式已经非常普遍的存在了,比如说开会时因为需要专注,所以用录音笔将开会的内容录制下来,会后再通过文字语音转换软件来进行内容的转换,最后整理成领导想要的文字形式的 ...

  8. 三款软件,让你的文字转语音更简单

    文字转语音软件我使用过很多,其中也有我觉得非常好的,那我就从中挑选三个我觉得使用性.实用性都非常好的软件推荐给你们. 1:nopapp 这是一款在线文字转语音软件,只能网页端进行使用. 里面有四种类型 ...

  9. 华为手机怎么语音服务器,原来华为手机实现文字转语音这么简单!今天才知道,真是绝了...

    原标题:原来华为手机实现文字转语音这么简单!今天才知道,真是绝了 大家对华为手机也并不陌生,身边的亲朋好友大部分也都在使用华为手机!不仅仅是因为它强大的硬件和外观,也包含了很多非常实用的黑科技功能.对 ...

  10. 手机进行文字转语音的小妙招,操作简单!小白也能学会

    现在很多商家,个人店铺会因为各自的需求去找一些专业人员去做叫卖的广告,现在只需在线使用相关的软件就可以直接把文字生成语音了,非常的方便快捷. 前提须知: 我们要想用手机实现文字转语音,就必须得使用转换 ...

最新文章

  1. 信号与系统课程向学校教务科需要提交的资料
  2. .Net 3.5 Remoting编程入门三
  3. python控制树莓派led_Python 控制树莓派 GPIO 输出:控制 LED 灯
  4. 百万数据报表导出:原理分析与总结
  5. Hyperledger Fabric基础知识
  6. Oracle具有开放性吗,Oracle数据库的特点与工作原理
  7. 位域(Bit-fields)分析
  8. [2019牛客]第一场
  9. 机器人走进开放源代码
  10. java设置excel整列格式,poi excel设置列格式方法添加
  11. 禁止AutoCAD联网
  12. cdh cm 大数据系统hadoop快速安装
  13. 关于功能结构图 信息结构图 产品结构图那点小事
  14. word文档从第二页开始标注页码
  15. wechat-0051,微信公众号,第三方登录—扫码绑定
  16. 嵌入式学习之QT学习---8 QT网络编程之TCP通信
  17. 《迷人的8051单片机》——导读
  18. 复合材料层合板数值模拟_51CAE_新浪博客
  19. 使用Matlab/Simulink进行电力电子控制设计
  20. 关于cv2.cvtColor(im, cv2.COLOR_RGB2BGR)的一点细节

热门文章

  1. 常见操作系统体系结构
  2. 深度学习语音识别方法概述与分析
  3. 医学系统(一)医院常用的软件系统:PACS系统、HIS系统、RIS系统、LIS系统、CIS系统
  4. linux 显卡扩展坞,我的新玩意儿——Mac mini2018+Razer core(附显卡扩展坞类比图)...
  5. MySQL 5.7(windows 64位)下载安装
  6. MATLAB简单实现ID3算法
  7. 数据挖掘实验(三)Matlab初步实现ID3算法【决策树根节点选择】
  8. 油猴【QQ空间自动点赞-模拟点击】
  9. c4d安装没有出现语言文字,关于C4D以及渲染器插件安装时遇到的问题以及解决方法...
  10. python数字字母识别_字符图像识别——数字字母混合