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.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.188.218.184