Android中的自动朗读(TTS)
Android的自动朗读支持主要是通过TextToSpeech来完成,该类提供了如下一个构造器
TextToSpeech(Context context,TextToSpeech.OnInitListener listener)
当创建TextToSpeech对象时,必须先提供一个OnInitListener监听器——该监听器负责监听TextToSpeech的初始化结果。
TextToSpeech最常用的两个方法如下:
1、speak(String text,int queueMode,HashMap<String,String> params)
2、synthesizeToFile(String text,HashMap<String,String> params,String filename)
上面两个方法都用于把text文字内容转换为音频,区别只是speak方法是播放转换的音频,而synthesizeToFile是把转换得到的音频保存成声音文件。
上面两个方法中的params都用于指定声音转换时的参数,speak()方法中的queueMode参数指定TTS的发音队列模式,该参数支持如下两个常量。
1、TextToSpeech.QUEUE_FLUSH:如果指定该模式,当TTS调用speak方法时,它会中断当前实例正在运行的任务(也可以理解为清除当前语音任务,转而执行新的语音任务)
2、TextToSpeech.QUEUE_ADD:如果指定为该模式,当TTS调用speak方法时,会把新的发音任务添加到当前发音任务列队之后——也就是等任务队列中的发音任务执行完成后在来执行speak()方法指定的发音任务。
当程序用完了TextToSpeech对象之后,可以在Activity的OnDestroy()方法中调用它的shutdown()来关闭TextToSpeech,释放它所占用的资源。
使用TextToSpeech的步骤如下:
1、创建TextToSpeech对象,创建时传入OnInitListener监听器监听创建是否成功。
2、设置TextToSpeech所使用语言、国家选项,通过返回值判断TTS是否支持该语言、国家选项。
3、调用speak()或synthesizeToFile方法。
4、关闭TTS,回收资源。
Android中的自动朗读(TTS)的更多相关文章
- android学习笔记53——自动朗读TTS
自动朗读TTS android提供了自动朗读功能--其指的是支持可以对指定文本内容进行朗读,从而发出声音: 同时android的自动朗读支持还允许把文本对应的音频录制成音频文件,方便后续播放. 这种自 ...
- Android 自动朗读(TTS)
在Android应用中,有时候需要朗读一些文本内容,今天介绍一下Android系统自带的朗读TextToSpeech(TTS).自动朗读支持可以对指定文本内容进行朗读,还可以把文本对应的音频录制成音频 ...
- 关于Android中EditText自动获取焦点并弹出键盘的相关设置
在android开发中,关于EditText自动获取焦点弹出键盘,我们可能又是会有让键盘自动弹出的需求,有时可能又会有不想让键盘自动弹出的需求,下面是我所总结的两种方法: 需求:EditText自动获 ...
- Android中ProgressDialog自动消失
主要函数部分代码: final ProgressDialog proDialog = android.app.ProgressDialog .show(MainActivity.this, " ...
- android中如何自动获取短信验证码
package com.loaderman.smsbroadcastreceiver; import java.util.regex.Matcher; import java.util.regex.P ...
- Android 轻松实现语音朗读
语音朗读,这是一个很好的功能,可以实现一些客户的特殊要求.在Android 实现主意功能只需要几段简单的代码即可完成. 在Android 中使用语音朗读功能 只需要使用此类 TextToSpeech ...
- Android中仿淘宝首页顶部滚动自定义HorizontalScrollView定时水平自动切换图片
Android中仿淘宝首页顶部滚动自定义HorizontalScrollView定时水平自动切换图片 自定义ADPager 自定义水平滚动的ScrollView效仿ViewPager 当遇到要在Vie ...
- Android中textView自动识别电话号码,电子邮件,网址(自动加连接)
extends:http://blog.csdn.net/wx_962464/article/details/8471195 其实这个是很简单的,在android中已经为我们实现了,但是我估计很多人都 ...
- Android中微信抢红包插件原理解析和开发实现
一.前言 自从去年中微信添加抢红包的功能,微信的电商之旅算是正式开始正式火爆起来.但是作为Android开发者来说,我们在抢红包的同时意识到了很多问题,就是手动去抢红包的速度慢了,当然这些有很多原因导 ...
随机推荐
- JQuery Mobile页面的载入方式
1.JQM页面结构 jQuery Mobile是通过data-role属性来区分渲染界面样式的,JQM里面提供的data-role如下表: 参数 说明 page 页面容器,其内部的mobile元素将会 ...
- linux系统目录介绍
目录/文件 用途 来源 / /处于Linux文件系统树形结构的最顶端,它是Linux文件系统的入口,所有的目录.文件.设备都在/之下. - /bin 该目录存放着系统最常用的最重要的命令,相当于DOS ...
- Hu矩SVM训练及检测-----OpenCV
关键词:Hu矩,SVM,OpenCV 在图像中进行目标物识别,涉及到特定区域内是否存在目标物,SVM可在样本量较少情况下对正负样本(图片中前景背景)做出良好区分,图片基本特征包括诸如HOG.LBP.H ...
- 完整版的OpenLDAP搭建全过程
总结: 先写总结,再写正文,嘿嘿嘿.这还是第一次认真的写个文档,写个总结,哈哈.大概在一个月前,第一次听说这个东西,完全没有概念,刚开始的时候看理论的知识,看了几次之后就没看了,看不 ...
- thead、tbody、tfoot与顺序无关
今天发现一个问题,thead.tbody.tfoot等标签的内容排版与顺序无关,做了一个小的实验:
- js的深拷贝和浅拷贝
一.数组的深浅拷贝 在使用JavaScript对数组进行操作的时候,我们经常需要将数组进行备份,事实证明如果只是简单的将它赋予其他变量,那么我们只要更改其中的任何一个,然后其他的也会跟着改变,这就导致 ...
- 【科研论文】W5100在远程电力质量监测设备中的应用
摘要: 针对传统电力质量监测方法实时性.多参数测试性能较差的缺点,提出了将以太网接入技术与电能采集相结合进行电力质量现场和远程在线监测的设计方案.硬件设计采用微控制器STM32FI03和以太网控制芯片 ...
- Android Studio中解决Gradle DSL method not found: 'android()'
近期导入as的项目出了这种问题 这个问题困扰了我非常长时间,好吧,搜了半天全都是runProguard的.最后在stackoverflow上搜到解决的方法了: http://stackoverflow ...
- linux crontab 定时命令
一直认为Timer是比较好的实现定时器的方法,后来遇到在linux下的命令制定定时任务才发现,Timer的劣势所在,在Timer的时候很可能你的任务会被当做一个死程序被杀掉等等......上次一个同事 ...
- 2015 UESTC Winter Training #7【2010-2011 Petrozavodsk Winter Training Camp, Saratov State U Contest】
2015 UESTC Winter Training #7 2010-2011 Petrozavodsk Winter Training Camp, Saratov State U Contest 据 ...