TTS工具类:

public class SystemTTS {private static SystemTTS singleton;private Context mContext;//核心播放对象private TextToSpeech textToSpeech;private boolean isSupport = true;private static final String TAG = "SystemTTS";private boolean isFirstPlay = false;private SystemTTS(Context context) {this.mContext = context.getApplicationContext();textToSpeech = new TextToSpeech(mContext, new TextToSpeech.OnInitListener() {@Overridepublic void onInit(int i) {//textToSpeech的配置init(i);isFirstPlay = false;}});}public static SystemTTS getInstance(Context context) {if (singleton == null) {synchronized (SystemTTS.class) {if (singleton == null) {singleton = new SystemTTS(context);}}}return singleton;}//textToSpeech的配置private void init(int i) {if (i == TextToSpeech.SUCCESS) {int result = textToSpeech.setLanguage(Locale.CHINESE);// 设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) {//系统不支持中文播报isSupport = false;} else {textToSpeech.setPitch(1.0f);textToSpeech.setSpeechRate(1.0f);} }}public boolean play(String text) {boolean ret=false;if (!isSupport) {Toast.makeText(mContext, "TTS不支持", Toast.LENGTH_SHORT).show();ret=true;}if (textToSpeech != null) {if(!isFirstPlay){speak(text);isFirstPlay = true;ret=true;}else{if(!textToSpeech.isSpeaking()){speak(text);ret=true;}}}return  ret;}private void speak(String text){textToSpeech.speak(text, TextToSpeech.QUEUE_ADD, null, null);textToSpeech.setOnUtteranceProgressListener(new UtteranceProgressListener() {@Overridepublic void onStart(String utteranceId) {Log.d(TAG, "播放开始");}@Overridepublic void onDone(String utteranceId) {Log.d(TAG, "播放结束");}@Overridepublic void onError(String utteranceId) {Log.d(TAG, "播放出错");}});}public void stop() {if (textToSpeech != null) {textToSpeech.stop();}}public boolean TTsIsSpeeking() {return textToSpeech.isSpeaking();}public void destroy() {stop();if (textToSpeech != null) {textToSpeech.shutdown();}}
}

有些android手机上面自带的语音引擎是Pico不支持中文,需要自己下载一个tts引擎,然后在无障碍->文字转语音TTS->首选引擎设置为自己安装的引擎。

Android实现TTS语音播报相关推荐

  1. 2019-详细Android Studio开发百度地图(5)—百度地图_导航和TTS语音播报的实现

    百度地图_导航和TTS语音播报的实现 前言 从小白一步步开始,很多资源是很久以前的,而且没有操作配套截图和资源分享.现在本踩过了很多坑,现在开发完成后决定重新写一份教程,希望能借此帮助到许多其他有这方 ...

  2. Android 9.0 设置讯飞语音引擎为默认tts语音播报引擎

    1.前言 在9.0的系统rom定制化开发中,在产品开发中,一些内置的app需要用到tts语音播报功能,所以需要用到讯飞语音引擎作为默认的系统tts语音引擎功能,所以就需要 了解系统关于tts语音引擎默 ...

  3. Android TTS语音播报

    TTS 语音播报:  代码摘要: private TextToSpeech mTts;private EditText et_setPitch;private EditText et_setSpeec ...

  4. JS实现TTS语音播报

    JS实现TTS语音播报 function speckText(str){//var request= new URLRequest();var url = "http://tts.baidu ...

  5. Android TTS语音播报实践

    在工作中遇到了语音播报的需求,在收到push后,用语音播报push携带的播报内容.类似于微信支付宝的收款信息一样.调研后主要的语音播报方案有一下几种: 基于第三方的TTS SDK,如百度.思必驰.讯飞 ...

  6. Android自带语音播报+讯飞语音播报封装(直接用)

    一.Android自带的语音播报 1.查看是否支持中文,在测试的设备中打开'设置' -->找到 '语言和输入法'-->查看语音选项,是否支持中文,默认仅支持英文. 使用如下: public ...

  7. Android讯飞语音播报新闻

    1:讯飞开放平台注册登录:https://www.xfyun.cn/?ch=bdtg 2: 3:创建新应用获取APPID值 4:注册好就可以直接在项目中使用appid值 5:将下载的sdk中libs文 ...

  8. TTS语音播报程序部署与配置

    本功能已经在Windows7,Windows8.1,Windows10上测试过,其他版本操作系统未进行过测试. 1. 下载程序包 [32位]下载地址:http://pan.baidu.com/s/1i ...

  9. 基于Android studio的语音播报功能

    效果图: 进入软件时,弹出欢迎使用xxx系统,有一个文本框.可以自己输入想要说的话,之后进行朗读,调用的是自己手机的语音包 首先导入TTS包 MainActivity: package com.hua ...

最新文章

  1. 拥抱高效、拥抱 Bugtags 之来自用户的声音(三)
  2. [BZOJ5249][九省联考2018]IIIDX(线段树)
  3. OpenGL缩放转换
  4. 学php要懂js吗,js要怎么学
  5. Struts2 中 Session 的使用
  6. 互联网行业常见的需要考虑的问题
  7. 【紫书第十章】数论与概率入门
  8. 深圳雷赛智能自动控制软件使用说明(运动控制卡)
  9. 工厂无线wifi短信验证码认证方案
  10. 【C++学习五】STL库的应用
  11. 游戏安全02:手游外挂简单分类和实现原理介绍
  12. Kindle 2 初探
  13. html登录qq页面无法显示,如何解决QQ可以登录网页而无法打开的问题
  14. cadz轴归零命令_CAD图形如何Z轴归0?
  15. 名校400门免费人文社科公开课视频合集!
  16. Linux两主机之间快速传输大量小文件
  17. On-premise是什么意思?
  18. HTML知识点学习(二)
  19. [虚拟机]hyper-v简介及安装使用(图文详解)
  20. JS写下雨特效,樱花落特效,滑块成功效果

热门文章

  1. linux vi编辑器删除多行,vim编辑器如何删除一行或者多行内容
  2. rtx腾讯通环境配置
  3. C++自学教程第一课——你好世界,我是柠檬鲸。
  4. C++积累02_隔定时长放炮问题的OOP解决
  5. Collection集合入门
  6. 黑人是晒黑的吗_Indibiome是新的黑人
  7. latex中英文字体设置
  8. AST实战|手把手教你还原ob混淆:ob混淆代码特征
  9. 计算机主板i3 i5区别,装机那些事儿之挑选适合自己的CPU;i3/i5/i7的区别
  10. cleanup(cleanup什么意思中文)