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

一.基础知识

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

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

图1AndroidTTS设置界面

当点击“Listentoanexample”时,会发出“ThisisanexampleofspeechsynthesisinEnglish.”,如果没有安装TTSData的话可以点击第二项安装,在Defaultsettings可以设置SpeechrateLanguage,如下图2所示可以知道TTS支持的语言。

2TTS语言选择

如果勾选“Alwaysusemysettings”时要注意,设置了这个选项后那么我们就不能在程序中对speechrateLanguages进行设置了,这里的设置回覆盖我们程序中的设置。

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

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

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

二.实例分析

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

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

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

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

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

图3AndroidTTSAPI

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

我们希望做的效果如下:

图4实现效果图

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

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

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

[xhtml] view plain copy
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <LinearLayoutxmlns: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. <EditTextandroid:id="@+id/inputText"
  8. android:hint="Inputthetexthere!"
  9. android:layout_width="fill_parent"
  10. android:layout_height="wrap_content">
  11. </EditText>
  12. <Buttonandroid: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】Android2.3版本以上谷歌为何推荐使用HttpURLConnecti
  2. 关于android的imagebutton,imageview等无文本控件警告的解决办法
  3. 编程语言排行
  4. Android 实现可用于文本选择的浮动工具栏
  5. Android SDK目录及版本号区别
  6. Android 项目国际化 多国语言适配
  7. Android API对应版本关系(最新更新2019年10月)
  8. android 设置文本透明度

随机推荐

  1. 導入android項目出錯問題解決
  2. Android设置上下边框或者左右边框
  3. 2011.07.11(2)——— android 自定义Notifi
  4. Android(安卓)源码启动虚拟机经验
  5. android
  6. Difference of px, dp, dip and sp in an
  7. Android(安卓)Jetpack之Lifecycle的源码
  8. 总结系列-Android的文件系统
  9. ScrollView嵌套RecyclerView冲突解决
  10. startActivity exposed beyond app throu