Android TTS学习――TTS初体验(上)
from: http://blog.csdn.net/ichliebephone/article/details/5802044
一.基础知识
TextToSpeech简称TTS,称为语音合成,是Android从1.6版本开始支持的新功能,能将所指定的文本转成不同语言音频输出。
在具体介绍前我们先来看下Adnroid系统带的TTS设置界面,点击Settings->Speechsynthesis,如下图所示:
图1AndroidTTS设置界面
当点击“Listentoanexample”时,会发出“ThisisanexampleofspeechsynthesisinEnglish.”,如果没有安装TTSData的话可以点击第二项安装,在Defaultsettings可以设置Speechrate和Language,如下图2所示可以知道TTS支持的语言。
图2TTS语言选择
如果勾选“Alwaysusemysettings”时要注意,设置了这个选项后那么我们就不能在程序中对speechrate和Languages进行设置了,这里的设置回覆盖我们程序中的设置。
TTS功能需要有TTSEngine的支持,下面我们就来了解下android提供的TTSEngine。
Android使用了叫Pico的支持多种语言的语音合成引擎,Pico在后台负责把分析输入的文本,把分本分成他能识别的各个片段,再把合成的各个语音片段以听起来比较自然的方式连接在一起,这个过程Android系统帮我们做,我们只把他当做一个神奇的过程就可以了。
TTSengine依托于当前AndroidPlatform所支持的几种主要的语言: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提供的功能。
图3AndroidTTSAPI
可以看到TTS提供了两个接口和两个类。
我们希望做的效果如下:
图4实现效果图
上面一个输入框,点击Speak按钮则朗读上面的文字内容。
创建一个Android工程,工程名为AndroidTTSDemoFirst,其中SDK必须选择1.6版本及以上。
其中Main.xml文件很简单,如下所示:
[xhtml] view plain copy- <?xmlversion="1.0"encoding="utf-8"?>
- <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <EditTextandroid:id="@+id/inputText"
- android:hint="Inputthetexthere!"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content">
- </EditText>
- <Buttonandroid:text="Speak"
- android:id="@+id/speakBtn"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center_horizontal"
- android:enabled="false"
- ></Button>
- </LinearLayout>
更多相关文章
- 【Android】Android2.3版本以上谷歌为何推荐使用HttpURLConnecti
- 关于android的imagebutton,imageview等无文本控件警告的解决办法
- 编程语言排行
- Android 实现可用于文本选择的浮动工具栏
- Android SDK目录及版本号区别
- Android 项目国际化 多国语言适配
- Android API对应版本关系(最新更新2019年10月)
- android 设置文本透明度