import java.util.Locale;

import android.app.Activity;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.speech.tts.TextToSpeech.OnInitListener;
import android.view.View;
import android.widget.Button; public class MainActivity extends Activity {
private TextToSpeech tts;
private Button btnSpeak; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); btnSpeak = (Button) findViewById(R.id.btnSpeak);
btnSpeak.setOnClickListener(new MyOnClickListener());
//1.创建TextToSpeech对象,创建时传入OnInitListener监听器监听创建是否成功
tts = new TextToSpeech(this, new MyOnInitialListener()); } class MyOnInitialListener implements OnInitListener { @Override
public void onInit(int status) {
//2.设置TextToSpeech所使用语言、国家选项,通过返回值判断TTS是否支持该语言、国家选项
tts.setLanguage(Locale.ENGLISH); } } class MyOnClickListener implements View.OnClickListener { @Override
public void onClick(View v) { switch (v.getId()) {
case R.id.btnSpeak:
//3.调用speak()或synthesizeToFile方法
tts.speak("Hello,I am TTS ", TextToSpeech.QUEUE_FLUSH, null);
break; default:
break;
} } } @Override
protected void onDestroy() {
super.onDestroy(); if (tts != null) {
//4.关闭TTS,回收资源
tts.shutdown();
}
}
}

【Android 多媒体应用】使用 TTS的更多相关文章

  1. Android多媒体框架图

    Android多媒体整体架构图 MediaPlayer框架图 Camera框架图 SoundRecorder框架图 VideoCamera框架图 OpenCore与Skia ALSA Audio框架图 ...

  2. Android 多媒体视频播放一( 多媒体理解与经验分享)

    前言 说到android的多媒体,一把辛酸一把泪,当初听说会多媒体的比较牛掰,公司也有需求,于是乎我也积极的加入研究android多媒体的行列,记得以前刚接触的时候,最开始还是比较头大的,主要是但是很 ...

  3. 基于 VLC 的 Android 多媒体解决方案

    前段时间项目中需要在 Android 中播放视频.流媒体.查看监控,就研究了一下 Android 多媒体解决方案. 查找了一下,大致有如下几种: Android MediaPlayer FFmpeg ...

  4. Android多媒体整体架构图

    Android多媒体整体架构图 MediaPlayer框架图 Camera框架图 SoundRecorder框架图 VideoCamera框架图 OpenCore与Skia ALSA Audio框架图 ...

  5. Android多媒体访问

    Android的多媒体文件主要存储在/data/data/com.android.providers.media/databases目录下,该目录下有两个db文件,一个是内部存储数据库文件(inter ...

  6. Android多媒体开发(3)————使用Android NKD编译havlenapetr-FFMpeg-7c27aa2

    1. 使用NDK去编译官方的FFmpeg原版的话,还得自己实现JNI层与Java层,工程量比较大.所以移植FFmpeg到Android平台时,可以移植一些已经实现JNI与JAVA层的开源项目,毕竟软件 ...

  7. android 多媒体数据库详解(转)

    转自:http://www.2cto.com/kf/201309/242876.html 主要分为几节: 1. Android的媒体文件内部是如何存储的? 2. Andoid的媒体文件如何获取? 3. ...

  8. android 多媒体数据库(非原创)

    推荐文章:http://fzlihui.iteye.com/blog/1097952,http://www.cnblogs.com/pen-ink/archive/2011/06/02/2068410 ...

  9. Android多媒体--MediaCodec 中文API文档

    *由于工作需要,需要利用MediaCodec实现Playback及Transcode等功能,故在学习过程中翻译了Google官方的MediaCodec API文档,由于作者水平限制,文中难免有错误和不 ...

随机推荐

  1. python之算法LOB三人组

    一.冒泡排序 a.冒泡排序----优化 如果冒泡排序中执行一趟而没有交换,则列表已经是有序状态,可以直接结算法 import random from timewrap import * @cal_ti ...

  2. LAMP环境搭建问题

    //////////////////////////LAMP环境搭建问题///////////////////////////////////////LAMP常见的问题A.安装相关问题(1)MySQL ...

  3. Composer 入门使用手册

    依赖管理 官网地址:http://docs.phpcomposer.com/00-intro.html#Locally Composer 不是一个包管理器.是的,它涉及 "packages& ...

  4. hzau 1209 Deadline(贪心)

    K.Deadline There are N bugs to be repaired and some engineers whose abilities are roughly equal. And ...

  5. ebs R12 支持IE11

    如果不考虑升级jdk到1.7的话,可以使用oracle推荐的方法. 1.兼容模式 2.Toolkit to Disable Automatic Delivery of Internet Explore ...

  6. SQL group by底层原理——本质是排序,可以利用索引事先排好序

    转自:http://blog.csdn.net/caomiao2006/article/details/52140993 由于GROUP BY 实际上也同样会进行排序操作,而且与ORDER BY 相比 ...

  7. 条款36:绝对不要重新定义,继承而来的non-virtual函数

    重新定义一个继承而来的non-virtual函数可能会使得导致当函数被调用的时候,被调用的函数不是取决于调用的函数究竟属于的对象,而是取决于调用函数的指针或者引用的类型. 所以一般的说主要有两种观点在 ...

  8. Uva1401(字典树)

    1401 - Remember the Word Time limit: 3.000 seconds Neal is very curious about combinatorial problems ...

  9. Python 3.5 socket OSError: [Errno 101] Network is unreachable

    /******************************************************************************** * Python 3.5 socke ...

  10. C语言编译全过程

    编译的概念:编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序.    ...