最近在做一个有关于语音播报的功能,在安卓原生TextToSpeech 中可以支持文字转语音的语音播报功能,对于英文的文字,应该都会支持转成语音,但是对于中文的文字,你手机中不一定有中文语言包,所以不一定可以转成中文语音。据研究现在的大部分机型都支持中文,如华为,小米之类的手机中的TTS都是“科大讯飞”或者“度秘”的TTS,这类的TTS是可以支持中文的,具体可以到设置中搜索TTS查看,我就不多说这方面的东西了。

1.下面先介绍一下setOnUtteranceCompletedListener的用法吧,这个方法就是监听语音播报完成之后的回调,很多人用了也设置了这个监听,但是没有回调,这是为什么呢?因为我们在设置播放语音的时候,习惯性的把最后一个参数设置为null,事实上要使用setOnUtteranceCompletedListener方法是要用到最后一个参数的。

 tts.setPitch(1.0f);// 设置语速tts.setSpeechRate(1.0f);final HashMap ttsOptions = new HashMap<>();ttsOptions.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, "utterance");//utterance,这个参数随便写,用于监听播报完成的回调中tts.setOnUtteranceCompletedListener(new TextToSpeech.OnUtteranceCompletedListener(){int i=0;@Overridepublic void onUtteranceCompleted(String s) { //这个s就是上面写的utterance,if (i<3){//简单的做了个播报三次的功能tts.speak("这是一条语音播报", TextToSpeech.QUEUE_FLUSH, ttsOptions);i++;}}});
tts.speak("这是一条语音播报", TextToSpeech.QUEUE_FLUSH, ttsOptions);

这样setOnUtteranceCompletedListener就生效了。

2.事实上我们在写这段代码的时候可以看到上述写法setOnUtteranceCompletedListener已经过期了,代替方法成了setOnUtteranceProgressListener,这个方法是比较好用,多了两个功能具体的用法就不多说了。

  tts.setOnUtteranceProgressListener(new UtteranceProgressListener() {int i=0;@Overridepublic void onStart(String s) {//开始播放}@Overridepublic void onDone(String s) {//完成之后if (i<3){tts.speak("这是一条语音播报", TextToSpeech.QUEUE_FLUSH, ttsOptions);i++;}}@Overridepublic void onError(String s) {//播放错误的处理}});

探究 TextToSpeech 语音播报中的speak与setOnUtteranceCompletedListener方法以及相应的替换方法相关推荐

  1. Xamarin Essentials教程语音播报TextToSpeech

    Xamarin Essentials教程语音播报TextToSpeech 语音播报是一种将文本信息转化为音频信息的技术.使用该技术,开发者可以让用户不用盯着屏幕,就可以获取到信息.例如,支付宝为商家提 ...

  2. Vue实现文字转语音,语音播报

    Vue实现文字转语音,语音播报 思路: 利用 speak-tts 这个报进行文字转语音并且播报 下载 npm install speak-tts 引入 //不用再main.js中写,哪个vue文件需要 ...

  3. stm32舵机控制程序_免费开源基于STM32的lt;智能垃圾桶gt;之语音播报

    大家好,我是『芯知识学堂』的SingleYork,前面给大家简单介绍了和,今天笔者将要给大家介绍我们这个DIY智能垃圾桶套件中"语音播报模块"的详细使用. 这个"语音播报 ...

  4. 智能垃圾桶c语言程序,『免费开源』基于STM32的智能垃圾桶之语音播报

    大家好,我是『芯知识学堂』的SingleYork,前面给大家简单介绍了<基于STM32的智能垃圾桶之成员简介>和<基于STM32的智能垃圾桶之语音识别>,今天笔者将要给大家介绍 ...

  5. Android中语音识别与语音播报功能(记录)

    功能需求: (1)语音识别,将语音识别为文字,用于语音文字输入功能. (2)语音播报,将文字通过语音的形式播放出来. 主要思路: (1)语音识别:使用百度的第三方免费语音识别SDK.(特别注意,只要是 ...

  6. Vue中使用speak-tts插件实现点击按钮后进行语音播报(TTS/文字转语音)

    场景 speak-tts插件 speak-tts - npm 实现点击按钮触发语音播报,播报指定的文字内容. 为什么不能实现自动语音播报. chrome浏览器在18年4月起,就在桌面浏览器全面禁止了音 ...

  7. android 最简单TextToSpeech控件实现语音播报(朗读文字)

    TextToSpeech实现播报 android有自带语音播报功能,比较简单,这里只做一个朗读文字功能. JAVA代码如下: 应用前需添加 import android.speech.tts.Text ...

  8. iOS 后台语音播报功能开发过程中的那些坑

      上个版本的开发计划中产品同学建议在我们的商家版App中做后台语音播报功能,在评审的时候我就在想,完全可以通过Push静默推送来实现后台播放音频来实现(后续事实证明,这是个大坑).   关于静默推送 ...

  9. Android使用TextToSpeech实现语音播报-及默认不支持中文的方案

    对TextToSpeech的介绍就不多说了,直接在下面的连接里面看,很详细 点击查看Android官网对TextToSpeech的介绍 这里直接介绍使用方法,一看就会 首先实例化TextToSpeec ...

最新文章

  1. JEESZ架构、分布式服务:Dubbo+Zookeeper+Proxy+Restful
  2. 一图揭示:营销的目的、策略、战略
  3. oracle 中least,ORACLE 内置函数之GREATEST和LEAST
  4. 开源开放 | 移动应用知识图谱MAKG(CCKS2021)
  5. mysql 几级缓存_Mysql中一级缓存二级缓存区别
  6. java web 不用框架_MyShop-不用框架的基础javaweb项目
  7. C#结构体和字节数组的转换
  8. 基于JAVA+SpringMVC+Mybatis+MYSQL的鲜花销售系统
  9. 下划线间隔数字 排序_面试必备:经典算法动画解析之希尔排序
  10. 【转】Objective-C语法property详解
  11. Baxter实战 (二)ubuntu14.04安装Baxter Workstation
  12. Scut游戏server引擎Unity3d访问
  13. 利用salt防范MD5字典攻击
  14. 手机万能摄像头ip搜索工具_一款 APP,130 多种功能,让你的手机秒变万能工具箱...
  15. 《Python程序设计实验指导书》81个实验项目选做参考
  16. Word文档统一图片格式快捷操作
  17. Switchhosts Mac 安装
  18. jdk1.8 在綫英文+有道翻譯版
  19. mongodb 字符串查找匹配中$regex的用法
  20. 自动驾驶系统入门(九)- 无人驾驶客户端系统

热门文章

  1. SQL Server 2008完全卸载(亲测有效)
  2. avast oracle 拦截_Avast Internet Security免费版下载-网络保护与病毒拦截工具 v20.8.56 免费版 - 安下载...
  3. 赋能云会议渠道,开会宝 vymeet发布“梧桐计划”,培养未来的合作伙伴
  4. 天旦发布DevOps实践应用指南,助力数字化转型
  5. 微信公众号之智能绑定实现初始版本
  6. 【低代码开发】智慧水务解决方案
  7. Arcgis制图之晕线效果
  8. 线性回归、logistic回归、一般线性模型回归
  9. cs131 第二讲 颜色与线性代数
  10. 基于HNC语境理论的文本分类