Android上TTS介绍(补汉6个汉字字).docx
文本预览下载声明
一、基础知识
1.1 HYPERLINK /cmdn/wiki/index.php?doc-view-1789 Android上TTS介绍TextToSpeech简称 TTS,称为语音合成,是Android 系统从1.6版本开始支持的新功能,能将所指定的文本转成不同语言音频输出。首先来看下Adnroid系统带的TTS设置界面,点击Settings-Speech synthesis(这是1.6版本,如果是2.1版本的话是Settings-Text to Speech),如下图1所示:
TTS功能需要有TTS Engine的支持,下面我们就来了解下android提供的TTS Engine。Android使用了叫Pico的支持多种语言的语音合成引擎,Pico在后台负责把分析输入的文本,把分本分成他能识别的各个片段,再把合成的各个语音片段以听起来比较自然的方式连接在一起,这个过程 HYPERLINK /cmdn/wiki/index.php?doc-view-1676 Android系统帮我们做,我们只把他当做一个神奇的过程就可以了。TTS engine依托于当前Android Platform所支持的几种主要的语言:English、French、German、Italian和Spanish五大语言(暂时也是没有对中文提 供支持)。TTS可以将文本随意的转换成以上任意五种语言的语音输出。与此同时,对于个别的语言版本将取决于不同的时区,例如:对于English,在 TTS中可以分别输出美式和英式两种不同的版本。?1.2 OPhone2.0上使用TTSOPhone2.0系统中虽然找不到上面这个设置界面,但是其对应的是Android2.1版本,因此OPhone2.0也是支持TTS功能的。下 面就具体介绍在OPhone2.0上开发具有TTS功能程序的方法,并完成一个简单的Demo实例,可以使用TTS引擎支持的 English、 French 、 German 、 Italian 和 Spanish 这 5大语言来进行相应的语音合成,并用这 5 种外语向她说出“我爱你”。??二、实例开发2.1 实例介绍下面我们先做一个具体的实例来亲自体会一下OPhone2.0/Android的TTS的效果。在具体做之前给个OPhone2.0/Android TTS的API的链接, HYPERLINK /reference/android/speech/tts/package-summary.html /reference/android/speech/tts/package-summary.html可以先看下大概了解TTS提供的功能。
可以看到TTS提供了两个接口和两个类。我们希望做的效果如下图3所示:
最上面是一个EditText,显示不同语言的“我爱你”,最下面是一个Spinner,可以选择English、 French 、 German 、 Italian 和 Spanish这5种语言,点击中间的Speak按钮,就会朗读出对应语言的“我爱你”。?2.2 具体开发创建一个 HYPERLINK /cmdn/wiki/index.php?doc-view-1401 OPhone工程,工程名为OPhoneTTSDemo,其中 HYPERLINK /cmdn/wiki/index.php?doc-view-1426 SDK选择OPhone2.0。?2.2.1 布局文件的实现其中Main.xml文件很简单,如下所示:
复制到剪贴板??XML/HTML代码
?xml?version=1.0?encoding=UTF-8??LinearLayout?android:layout_height=fill_parent?android:layout_width=fill_parent?android:orientation=vertical?xmlns:android=/apk/res/android?EditText?android:hint=Input?the?text?here!?android:id=@+id/inputText?android:layout_height=wrap_content?android:layout_width=fill_parent/?Button?android:enabled=false?android:id=@+id/speakBtn?android:layout_gravity=center_horizontal?android:layout_height=wrap_content?android:layout_width=wrap_content?android:text=Sp
显示全部