[Xamarin] Android Text To Speech 簡單實作
2015-07-28
因為公司案子需要,簡單的用Xamarin 念出一段英文
趁有時間紀錄一下簡單的筆記
範例很簡單,按下按鈕後就是會說一些英文。
1.先將Avtivity 多繼承 TextToSpeech.IOnInitListener
[Activity(Label = "TestTTS", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity, TextToSpeech.IOnInitListener
{
...
2.當然因為繼承他必須要實作 void TextToSpeech.IOnInitListener.OnInit(OperationResult status)
不過,放空就可以了除非你要處理init後的動作
// Interface method required for IOnInitListener
void TextToSpeech.IOnInitListener.OnInit(OperationResult status)
{
}
3.最後就是呼叫的部分在OnCreate時候先做TextToSpeech 的Init
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
tts = new TextToSpeech(this.ApplicationContext, this);
tts.SetLanguage(Java.Util.Locale.Default);
Button button = FindViewById<Button>(Resource.Id.MyButton);
button.Click += Button_Click;
}
之後就是呼叫讓他說話的部分
private void Button_Click(object sender, EventArgs e)
{
String text1 = "Hello,Donma.";
String text2 = "Good Night and hava a nice day.";
tts.Speak(text1, QueueMode.Flush, null);
tts.Speak(text2, QueueMode.Add, null);
}
4.如果你沒有發出聲音,請你在設定裡面,選擇其他進階設定,協助工具,裡面的文字轉語音輸出看看是否有設定。
5.結果