音频(3)Android TTS技术支持朗读英文
Android对TTS技术的支持
Android 1.6开始支持TTS(Text To Speech)技术,通过该技术可以将文本转换成语音。目前2015-09-06只支持朗读英文.
TTS技术的核心是android.speech.tts.TextToSpeech类。要想使用TTS技术朗读文本,需要做两个工作:
1,初始化TTS和指定要朗读的文本,主要指定TTS朗读的文本的语言.
2,使用speak方法指定要朗读的文本。
在Android中使用TTS技术
TextToSpeech.OnInitListener.onInit用于初始化TTS
TextToSpeech.speak用于将文本转换为声音
示例
import java.util.Locale; import android.app.Activity;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast; /*
* TTS示例
* TTS技术可以将文本转换成语音
* 1,初始化TTS和指定要朗读的文本,主要指定TTS朗读的文本的语言.
* 2,使用speak方法指定要朗读的文本。
*/
public class Main extends Activity implements TextToSpeech.OnInitListener,
OnClickListener {
// 利用TTS技术将文本转换成语音 第1步,TextToSpeech.OnInitListener接口
private TextToSpeech tts;// tts关键类
private TextView textView; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); // 利用TTS技术将文本转换成语音 第2步,构造TextToSpeech
tts = new TextToSpeech(this, this); Button button = (Button) findViewById(R.id.button);
textView = (TextView) findViewById(R.id.textview);
button.setOnClickListener(this);
} /*
* 初始化回调
* from TextToSpeech.OnInitListener
*/
@Override
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
//利用TTS技术将文本转换成语音 第3步,指定TTS朗读的文本的语言 目前2015-09-06还只支持英文朗读
// 目前2015-09-06还只支持英文朗读
int result = tts.setLanguage(Locale.US); //利用TTS技术将文本转换成语音 第4步,若数据不存在或不支持,那么提示.
if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) {
Toast.makeText(this, "Language is not available.",Toast.LENGTH_LONG).show();
}
}
} /*
* 开始朗读的button事件
*/
public void onClick(View view) {
//利用TTS技术将文本转换成语音 第5步,开始朗读
tts.speak(textView.getText().toString(), TextToSpeech.QUEUE_FLUSH, null);
} }
音频(3)Android TTS技术支持朗读英文的更多相关文章
- Android中的自动朗读(TTS)
Android的自动朗读支持主要是通过TextToSpeech来完成,该类提供了如下一个构造器TextToSpeech(Context context,TextToSpeech.OnInitListe ...
- 启用VTX技术支持启动android的虚拟机 - 报错
第一次启用VTX技术支持启动android的虚拟机,启动时提示如下错误: Starting emulator for AVD 'AVD_for_Android_TV_1080p_by_Google'e ...
- 22、TTS技术
Android对TTS技术的支持 Android 1.6开始支持TTS(Text To Speech)技术,通过该技术可以将文本转换成语音. TTS技术的核心是android.speech.tts.T ...
- 解读 Android TTS 语音合成播报
随着从事 Android 开发年限增加,负责的工作项目也从应用层开发逐步过渡到 Android Framework 层开发.虽然一开始就知道 Android 知识体系的庞大,但是当你逐渐从 Appli ...
- [转载] Android逃逸技术汇编
本文转载自: http://blogs.360.cn/360mobile/2016/10/24/android_escape/ 摘 要 传统逃逸技术涉及网络攻防和病毒分析两大领域,网络攻防领域涉 ...
- Android开发技术周报
Android开发技术周报 原文 http://androidweekly.cn/android-dev-weekly-issue48/ 教程 深入理解Android之Gradle Gradle是当 ...
- Android官方技术文档翻译——新构建系统概述
本文译自Android官方技术文档<New Build System>,原文地址:http://tools.android.com/tech-docs/new-build-system. ...
- Android开发技术周报183学习记录
Android开发技术周报183学习记录 教程 Android性能优化来龙去脉总结 记录 一.性能问题常见 内存泄漏.频繁GC.耗电问题.OOM问题. 二.导致性能问题的原因 1.人为在ui线程中做了 ...
- 解析 Android Things 技术原理
2012 年 6 月,由 IoT-GSI(Global Standards Initiative on Internet of Things)发布的白皮书“ITU-T Y.4000/Y.2060”[1 ...
随机推荐
- iOS编程——经过UUID和KeyChain来代替Mac地址实现iOS设备的唯一标示(OC版)
iOS编程——通过UUID和KeyChain来代替Mac地址实现iOS设备的唯一标示(OC版) 很多的应用都需要用到手机的唯一标示,而且要求这个唯一标示不能因为应用app的卸载或者改变而变化. 在iO ...
- thymeleaf 内联语法
十二. thymeleaf内联语法 内联:th:inline,值有三种:text,javascript,none 12.1 th:inline="text"文本内联 <p t ...
- datepicker 日期连续选择(需要改源码)
先上效果: 代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...
- Spark机器学习 Day2 快速理解机器学习
Spark机器学习 Day2 快速理解机器学习 有两个问题: 机器学习到底是什么. 大数据机器学习到底是什么. 机器学习到底是什么 人正常思维的过程是根据历史经验得出一定的规律,然后在当前情况下根据这 ...
- cwm-recovery自动生成工具
android发展迅速,刷机已经成了一种习惯,cwm-recovery是必不可少的工具,下面我把自己用的自动生成cwm-recovery的工具发布出来,供友友们交流和学习,欢迎拍砖 已经公开发布在gi ...
- 1006. Sign In and Sign Out
#include <stdio.h> #include <algorithm> #include <iostream> #include <string.h& ...
- 内核升级修复nfs
Not starting NFS kernel daemon: no support in current kernel. sudo gedit /etc/init.d/nfs-kernel-serv ...
- iOS中为网站添加图标到主屏幕以及增加启动画面
虽然没有能力开发Native App,但还是可以利用iOS中Safari浏览器的特性小小的折腾一下,做一个伪Web App满足下小小的虚荣心的. 既然是在iOS中的Safari折腾的,那么代码中利用到 ...
- Determining IP information for eth0… failed; no link present. Check cable
[root@hexuweb101 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0添加下面代码: check_link_down () { return ...
- mysql慢查询优化之explain的各列含义
mysql> explain select customer_id,first_name,last_name from customer; +----+-------------+------- ...