from: http://blog.csdn.net/ichliebephone/article/details/5802044

一. 基础知识

TextToSpeech 简称  TTS  称为语音合成,  Android   1.6版本 开始支持 的新功能 ,能 将所指定的文本转成不同语言音频输出。

在具体介绍前我们先来看下Adnroid系统带的TTS设置界面,点击Settings->Speech synthesis,如下图所示:

图 1 Android TTS设置界面

    当点击“Listen to an example”时,会发出“This is an example of speech synthesis in English. ”,如果没有安装 TTS Data的话可以点击第二项安装,在 Default settings 可以设置 Speech rate 和 Language ,如下图 2 所示可以知道 TTS 支持的语言。

2 TTS 语言选择

    如果勾选“Always use my settings ”时要注意,设置了这个选项后那么我们就不能在程序中对speech rate 和 Languages 进行设置了,这里的设置回覆盖我们程序中的设置。

TTS功能需要有TTS Engine的支持,下面我们就来了解下android提供的TTS Engine。

Android使用了叫Pico的支持多种语言的语音合成引擎,Pico在后台负责把分析输入的文本,把分本分成他能识别的各个片段,再把合成的各个语音片段以听起来比较自然的方式连接在一起,这个过程Android系统帮我们做,我们只把他当做一个神奇的过程就可以了。

TTS engine依托于当前 Android Platform 所支持的几种主要的语言: English  French  German  Italian Spanish 五大语言 (暂时也是没有对中文提供支持)。 TTS可以将文本随意的转换成以上任意五种语言的语音输出。与此同时,对于个别的语言版本将取决于不同的时区,例如:对于 English ,在 TTS 中可以分别输出美式和英式两种不同的版本 

二. 实例分析

下面我们先做一个具体的实例来亲自体会一下Android的TTS的效果。

我们做一个简单的输入英文句子然后朗读出来的例子,了解Android的TTS使用方法。

在具体做之前给个AndroidTTS的API的链接,

http://androidappdocs.appspot.com/reference/android/speech/tts/package-summary.html

可以先看下大概了解TTS提供的功能。

图3 Android TTS API

可以看到TTS提供了两个接口和两个类。

我们希望做的效果如下:

图4 实现效果图

上面一个输入框,点击Speak按钮则朗读上面的文字内容。

创建一个Android工程,工程名为AndroidTTSDemoFirst,其中SDK必须选择1.6版本及以上。

其中Main.xml文件很简单,如下所示:

 

[xhtml]  view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:orientation="vertical"  
  4.     android:layout_width="fill_parent"  
  5.     android:layout_height="fill_parent"  
  6.     >  
  7.     <EditText android:id="@+id/inputText"   
  8.                 android:hint="Input the text here!"   
  9.                 android:layout_width="fill_parent"   
  10.                 android:layout_height="wrap_content">  
  11.                 EditText>  
  12.     <Button android:text="Speak"   
  13.                 android:id="@+id/speakBtn"   
  14.                 android:layout_width="wrap_content"   
  15.                 android:layout_height="wrap_content"  
  16.                 android:layout_gravity="center_horizontal"  
  17.                 android:enabled="false"  
  18.                 >Button>  
  19. LinearLayout>  

 

 

更多相关文章

  1. android EditText设置不可写
  2. android“设置”里的版本号
  3. 在Fragment中设置控件点击方法,执行失败。
  4. Android(安卓)闹钟管理类的使用
  5. Android设置通知栏/状态栏透明改变通知栏颜色和app最上部分颜色
  6. android 设置中划线 下划线等
  7. Andorid Dialog 示例【慢慢更新】
  8. android图表ichartjs
  9. Android(安卓)闹钟管理类的使用

随机推荐

  1. 浅谈Android(安卓)onTouchEvent 与 onInt
  2. Android中Bitmap用法实例分析
  3. ANDROID SDK配置步骤
  4. 《Android开发艺术探索》读书笔记——Han
  5. [置顶] Bottom Sheet
  6. Android(安卓)Testing
  7. Android(安卓)数据存储——上
  8. Android/Java线程池总结
  9. android 环境搭建_01
  10. Android(安卓)多窗口实现