[Xamarin] Android Text To Speech 簡單實作

2015-07-28

因為公司案子需要,簡單的用Xamarin 念出一段英文
趁有時間紀錄一下簡單的筆記
image
範例很簡單,按下按鈕後就是會說一些英文。

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.結果


當麻許的超技八 2014 | Donma Hsu Design.