Android中TextToSpeech的简单使用

android也可以实现把输入的文字朗读出来,使用到的是TextToSpeech,不过目前只支持5种语言:English、 French 、 German 、 Italian 和 Spanish。(真遗憾,没有Chinese),对android系统要求为android
1.6(API8)以上:

public class SpeechTestActivity extends Activity {

/**TextToSpeech对象*/

private TextToSpeech mText2Speech;

/**确定按钮*/

private Button mBtn;

/**文本输入框*/

private EditText mEdt;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

findViewsById();

initListeners();

mBtn = (Button) findViewById(R.id.test_btn);

mEdt = (EditText) findViewById(R.id.test_edt);

mBtn.setEnabled(false);

}

private void initListeners() {

mText2Speech = new TextToSpeech(this, new OnInitListener() {

@Override

public void onInit(int status) {

if (status == TextToSpeech.SUCCESS) {/**如果装载TTS成功*/

int result = mText2Speech.setLanguage(Locale.ENGLISH);/**有Locale.CHINESE,但是不支持中文*/

if (result == TextToSpeech.LANG_MISSING_DATA/**表示语言的数据丢失。*/

|| result == TextToSpeech.LANG_NOT_SUPPORTED) {/**语言不支持*/

Toast.makeText(SpeechTestActivity.this, "我说不出口", Toast.LENGTH_SHORT).show();

} else {

mBtn.setEnabled(true);

mText2Speech.speak("I miss you", TextToSpeech.QUEUE_FLUSH,

null);

}

}

}

});

mBtn.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

mText2Speech.speak(mEdt.getText().toString(),

TextToSpeech.QUEUE_FLUSH, null);

}

});

}

private void findViewsById() {

mBtn = (Button) findViewById(R.id.test_btn);

mEdt = (EditText) findViewById(R.id.test_edt);

}

@Override

protected void onDestroy() {

if (mText2Speech != null) {

mText2Speech.stop();

mText2Speech.shutdown();

}

super.onDestroy();

}

}

时间: 2024-11-29 11:16:09

Android中TextToSpeech的简单使用的相关文章

Android中SharePreferences的简单实现

Android中提供SharePreferences这种轻量级的数据存储模式,这种模式能够存储少量数据,并能为自身和其他应用提供数据接口.相对于其他数据存储方式,SharePreferences更加轻量.以下是整个SharePreferences实现的代码: xml布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas

android中ViewConfiguration的简单介绍

android.view.ViewConfiguration Contains methods to standard constants used in the UI for timeouts, sizes, and distances. 常用方法: ViewConfiguration.get(getContext()).getScaledTouchSlop() 官方描述:Distance in pixels a touch can wander before we think the use

Android中AsyncTask的简单用法【转】

在开发Android移动客户端的时候往往要使用多线程来进行操作,我们通常会将耗时的操作放在单独的线程执行,避免其占用主线程而给用户带来不好的用户体验.但是在子线程中无法去操作主线程(UI 线程),在子线程中操作UI线程会出现错误.因此android提供了一个类Handler来在子线程中来更新UI线程,用发消息的机制更新UI界面,呈现给用户.这样就解决了子线程更新UI的问题.但是费时的任务操作总会启动一些匿名的子线程,太多的子线程给系统带来巨大的负担,随之带来一些性能问题.因此android提供了

[原创]Android中LocationManager的简单使用,获取当前位置

Android中LocationManager的提供了一系列方法来地理位置相关的问题,包括查询上一个已知位置:注册/注销来自某个 LocationProvider的周期性的位置更新:以及注册/注销接近某个坐标时对一个已定义Intent的触发等.今天我们就来看看Android 中LocatinManager的简单使用,以获取当前所在的位置为例. 首先,我们需要获取LocationManager的一个实例,这里需要注意的是他的实例只能通过下面这种方式来获取,直接实例化LocationManager是

android中的回调简单认识

首先说一下最抽象的形式--2个类,A类和B类.A类含有1个接口.1个接口变量.(可能含有)1个为接口变量赋值的方法以及1个会使用接口变量的"地方";B类实现A中的接口,(可能)含有1个A类实例的引用,并且(可能用A类中为接口变量赋值的方法)将"自己"传递给A类的接口变量. 再将一个小故事: 我们平时考试答题的第一件事是干嘛?没错,是写上学号和姓名.这里注意了,我们填写学号和姓名不是给自己看的(即该方法不是给自己调用的),而是给老师登记分数时看的(预留给系统将来调用)

Android中ProgressDialog的简单示例

网上一般对进度条的示例都是如何显示,没有在任务结束如何关闭的文章,参考其他文章经过试验之后把整套进度条显示的简单示例如下: 建立android工程等工作都略去,Google一下就可以了. 下面来介绍主要的Activity ProgressBarDemo.java Java代码   package com.lveyo.android.demo.progressbar; import android.app.Activity; import android.app.ProgressDialog; i

Android中实现一个简单的逐帧动画(附代码下载)

场景 Android中的逐帧动画,就是由连续的一张张照片组成的动画. 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 首先准备一组不同表情的照片,放在res/drawable下,然后在此目录下新建动画资源文件fairy.xml <?xml version="1.0" encoding="utf-8"?> <animati

Android中Tomcat的简单配置和使用

因为学Android已经有一段时间了,但是在学校,服务器方面是个短板啊,没有专门的服务器拿给我们学生练手,所以只有自己找办法了.当然,Tomcat就是不二的选择了. 在网上看了看资料,还是觉得自己记录下来比较好. 因为我是学Android的,所以jdk什么的已配置好了.如果不知道,请看<java的环境变量配置> 首先我们先要下载Tomcat:http://tomcat.apache.org/(请自行选择版本),我用的是Tomcat 7.0.55. 我下载下来是一个压缩包,选择好路径后,进行解压

android 中TextToSpeech的用法

目前只支持5种语言,分别是English. French . German . Italian 和 Spanish. 系统要求为android 1.6以上 直接上代码啦: [java] public class TTSActivity extends Activity implements TextToSpeech.OnInitListener { private static final String TAG = "TextToSpeechDemo"; private TextToS