2009年12月24日星期四

究竟"Android"如何讀? Text-To-Speech (TTS)

很多人也不大清楚究竟"Android"應該如何讀? 最好由Android自己讀給你聽.

Text-To-Speech (TTS)

自從由Android version 1.6開始, 新增了一項語音合成功能, Text-To-Speech (TTS). 這項功能令Android設備能夠“說”出不同語言. 你也可以教Android自己讀"Android"給你聽.

根據以下設定創建一個Android Application, AndroidSpeech.
Project name: AndroidSpeech
Build Target: Google APIs/Platform 2.0 API/Level 5
Application name: AndroidSpeech
Package name: com.AndroidSpeech
Creative Activity: AndroidSpeech
Min SDK Version: 5
Create Android Applicatio: AndroidSpeech


並根據下面的例子修改佈局文件(/res/layout/main.xml)及主程序(AndroidSpeech.java).

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Android如何讀?"
/>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="機器人讀給你聽..."
/>
</LinearLayout>


AndroidSpeech.java

package com.AndroidSpeech;

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 AndroidSpeech extends Activity implements OnInitListener{

TextToSpeech TTS;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

TTS = new TextToSpeech(this, this);

Button button = (Button)findViewById(R.id.button);
button.setOnClickListener(buttonOnClickListener);
}

private Button.OnClickListener buttonOnClickListener =
new Button.OnClickListener(){

public void onClick(View arg0) {
// TODO Auto-generated method stub
String textAndroid = "Android";
TTS.speak(textAndroid, TextToSpeech.QUEUE_ADD, null);
}

};

public void onInit(int arg0) {
// TODO Auto-generated method stub

}

@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
TTS.shutdown();
}
}



相關文章: An introduction to Text-To-Speech in Android
相關文章: 檢查語音合成功能, Text-To-Speech (TTS)
相關文章: 為Android詞典加入英語發聲功能



沒有留言:

發佈留言