- Xamarin Blueprints
- Michael Williams
- 194字
- 2021-07-08 11:48:24
Android text-to-speech implementation
Now let's implement the IoC container and text to speech for Android. Start by creating a folder for the both the Android Modules and Services, add in two files to it, TextToSpeechDroid.cs
and DroidModule.cs
.
Let's start with the text to speech service; for TextToSpeechDroid.cs
. And add the following:
public class TextToSpeechDroid : Java.Lang.Object, ITextToSpeech, Android.Speech.Tts.TextToSpeech.IOnInitListener { private Android.Speech.Tts.TextToSpeech _speaker; private string _toSpeak; public void Speak (string msg) { var ctx = Forms.Context; _toSpeak = msg; if (_speaker == null) { _speaker = new Android.Speech.Tts.TextToSpeech (ctx, this); } else { var p = new Dictionary<string,string> (); speaker.Speak (_toSpeak, QueueMode.Flush, p); } } #region TextToSpeech.IOnInitListener implementation public void OnInit (OperationResult status) { if (status.Equals (OperationResult.Success)) { var p = new Dictionary<string,string> (); _speaker.Speak (_toSpeak, QueueMode.Flush, p); } } #endregion }
This IOnInitListener
interface requires the OnInit
function to be implemented. The OnInit
function is called to signal the completion of the TextToSpeech
engine initialization. We then implement the interface's function Speak
to speak the text passed in. At the start of the function, we check to see that a new TextToSpeech
object has been initialized; if we have then speak the message.
推薦閱讀
- CockroachDB權威指南
- PyTorch自動駕駛視覺感知算法實戰
- 深度強化學習算法與實踐:基于PyTorch的實現
- Web Development with MongoDB and Node(Third Edition)
- 打開Go語言之門:入門、實戰與進階
- Serverless Web Applications with React and Firebase
- Mastering Elixir
- Mastering Apache Camel
- Android嵌入式系統程序開發(基于Cortex-A8)
- 軟件設計模式(Java版)
- INSTANT LESS CSS Preprocessor How-to
- Learning TypeScript
- Koa與Node.js開發實戰
- MySQL數據庫教程(視頻指導版)
- Hands-On ROS for Robotics Programming