Android 原生语音播报
Android系统本身自带的语音引擎不支持中文,所以需要依赖 如 科大讯飞、度秘 等,类似语音引擎才可以。
三步:
1:安装语音引擎。 安装包百度找一下。安装到需要播报的机子上
如果没找到的话,这里有:https://download.csdn.net/download/qq_39731011/15047992
2:设置采用该引擎:
设置 — 语音和输入法 — 文字转语音(TTS)输出 — 首选引擎 — 选择你安装的引擎
3:将以下工具类复制到项目中,一行代码直接用
一行代码调用:
SpeechUtils.getInstance(this).speakText("语音播报的内容");//app启动时 先在Application调用一下
/*** Created by Xinghai.Zhao on 2021/2/4* android自带语音识别工具,如果要支持中文需要配合其他语音引擎*/
import android.content.Context;
import android.speech.tts.TextToSpeech;
import android.text.TextUtils;import java.util.Locale;public class SpeechUtils {private Context context;private static final String TAG = "SpeechUtils";private static volatile SpeechUtils singleton;private TextToSpeech textToSpeech; // TTS对象// private boolean isOld;public static SpeechUtils getInstance(Context context) {if (singleton == null) {synchronized (SpeechUtils.class) {if (singleton == null) {singleton = new SpeechUtils(context);}}}return singleton;}public SpeechUtils(Context context) {this.context = context;speakText(null);}/*** 关闭 语音合成*/public void shutdown(){if(textToSpeech!=null){textToSpeech.stop();textToSpeech.shutdown();textToSpeech = null;}}/*** 第二个参数queueMode用于指定发音队列模式,两种模式选择* (1)TextToSpeech.QUEUE_FLUSH:该模式下在有新任务时候会清除当前语音任务,执行新的语音任务* (2)TextToSpeech.QUEUE_ADD:该模式下会把新的语音任务放到语音任务之后,* @param text*/public void speakText(String text) {if(textToSpeech==null){textToSpeech = new TextToSpeech(context, new TextToSpeech.OnInitListener() {@Overridepublic void onInit(int i) {if (i == TextToSpeech.SUCCESS) {int result = textToSpeech.setLanguage(Locale.CHINA);textToSpeech.setPitch(1.0f);// 设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规textToSpeech.setSpeechRate(1.0f);/*if(result != TextToSpeech.LANG_COUNTRY_AVAILABLE&& result != TextToSpeech.LANG_AVAILABLE){Toast.makeText(context, "TTS暂时不支持这种语音的朗读!",Toast.LENGTH_LONG).show();}else {textToSpeech.setPitch(1.0f);// 设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规textToSpeech.setSpeechRate(1.0f);}*/}}});}if(!TextUtils.isEmpty(text)){textToSpeech.speak(text,TextToSpeech.QUEUE_ADD, null);}}}
Android 原生语音播报相关推荐
- Android TTS语音播报实践
在工作中遇到了语音播报的需求,在收到push后,用语音播报push携带的播报内容.类似于微信支付宝的收款信息一样.调研后主要的语音播报方案有一下几种: 基于第三方的TTS SDK,如百度.思必驰.讯飞 ...
- android开发语音播报
转载请注明出处:http://blog.csdn.net/sw950729/article/details/52069582 本文出自:马云飞的博客 上次也说了最近一直在整理东西以及封装东西.然后今天 ...
- Android TTS语音播报
TTS 语音播报: 代码摘要: private TextToSpeech mTts;private EditText et_setPitch;private EditText et_setSpeec ...
- android支付宝语音播报,支付宝商家语音播报 PushVoiceBroadcast
PushVoiceBroadcast 支付宝商家语音播报 gradle引入 allprojects { repositories { ... maven { url 'https://jitpack. ...
- Android tts语音播报设置最大音量
设置方式就是在语音播报前,将音量设置最大,再进行播报 方式如下 //设置最大音量 AudioManager am = (AudioManager) getSystemService(Context.A ...
- android收款语音播报+个推远程通知、透传推送 by:nixs
如果对您有用-给个小星星吧
- Android中语音识别与语音播报功能(记录)
功能需求: (1)语音识别,将语音识别为文字,用于语音文字输入功能. (2)语音播报,将文字通过语音的形式播放出来. 主要思路: (1)语音识别:使用百度的第三方免费语音识别SDK.(特别注意,只要是 ...
- android 语音自动播报,Android 语音播报实现
文章主要讲的是以前做项目时实现的来短信或来电话时语音播报的功能实现,记录下来做个总结. 1.实现语音播报的关键 -- 语音播报工具类(TtsUtil.java) 为了方便 文章主要讲的是以前做项目时实 ...
- Android自带语音播报+讯飞语音播报封装(直接用)
一.Android自带的语音播报 1.查看是否支持中文,在测试的设备中打开'设置' -->找到 '语言和输入法'-->查看语音选项,是否支持中文,默认仅支持英文. 使用如下: public ...
最新文章
- oracle ora 14047,ORA-14047: ALTER TABLE|INDEX RENAME 不可以与其它分区组合
- Docker虚拟化容器的使用
- SEO站内优化细节不可少,教你4个小技巧!
- Set 、HashSet、TreeSet、LinkedHashSet、EnumSet
- kepserver 6.5_非凡说| 先定一个6.5分小目标,财大生如何突破瓶颈拿下雅思!
- 请求失败或服务未及时响应 有关详细信息_「干货」从零开始的微服务搭建之路...
- android程序名称,Android应用程序名称带上标
- PE下如何安装 安装版系统
- Oracle在HPUX IA64平台登陆缓慢问题分析
- android文件添加一行代码怎么写,Android:以编程方式添加Textview,而不是将文本包装到下一行(示例代码)...
- form表单属性名相同java_java – 将表单字段注入具有相同属性名称的多个bean中
- Linux高级编程--06.进程概述
- nacos修改端口号
- 算法资料:算法导论_原书第3版(中文)(PDF带书签)
- 机器人学回炉重造(3):matlab复现最基本的六自由度机械臂逆运动学推导
- Differential Geometry之第二章曲线的局部理论
- RGB色彩模式-最广的颜色系统之一
- 计算机视觉会议论文写作建议顺序及注意事项
- python中fun函数求1+2…+n_功能:编写函数fun求1!+2!+3!+ …… +n!的和,在main函 数中由键盘输入n值,并输出运算结果。请编写fun 函数...
- pc端不同分辨率适配