protected async Task <int> GetLanguageSupportByEngine(TextToSpeech.EngineInfo engine) { // var languageSupport = await ttsLib.GetLanguageSupportByEngineAsync(this,engine.Name); // var langDisplay = new List<string>(); // //_listLang.Clear(); // foreach (var lang in languageSupport) //{ // langDisplay.Add(lang.DisplayLanguage); // _listLang.Add(lang.ISO3Language); //} //if (_listLang.Count == 0) _listLang.Add("NONE"); ////_listLang = _listLang.OrderBy(t => t).Distinct().ToList(); //langDisplay = _listLang.OrderBy(t => t).Distinct().ToList(); //var adapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleSpinnerDropDownItem, _listLang); //spn_lang.Adapter = adapter; return(0); }
//private IList<String> _voices; protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.Layout_Speech_Setting); SetBehavior(); ttsLib = TextToSpeechLib.Instance(); _listLang = new List <string> { }; btn_getInstance.Click += delegate { ttsLib = TextToSpeechLib.Instance(); }; btn_getEngines.Click += async delegate { await GetEngines(); }; spn_engines.ItemSelected += async(object sender, AdapterView.ItemSelectedEventArgs e) => { _selectEngine = _listEngines[(int)e.Id]; int i = await GetLanguageSupportByEngine(_selectEngine); await ttsLib.GetTTS(this); }; spn_lang.ItemSelected += async(object sender, AdapterView.ItemSelectedEventArgs e) => { //var s = ((Spinner)sender).GetItemAtPosition((int)e.Id); //Log.Debug(TAG, s.ToString()); //_selectLang = new Locale("en-US"); //_selectLang = _languageSupport.F(t => t.DisplayLanguage == langAvailable[(int)e.Id]); _selectLang = new Locale(_listLang[(int)e.Id]); Log.Debug(TAG, _listLang[(int)e.Id]); ttsLib.SetLang(_selectLang); }; btn_Speak.Click += async delegate { //ttsLib.CreateTtsAsync(this,); int i = await ttsLib.SpeakMessenger("ss"); Log.Info(TAG, "result speak " + i.ToString()); }; // Create your application here }
public readonly List <String> Voices = new List <String>(); // voice code like eng-USA-Heather public EngLang(TextToSpeech.EngineInfo ei) { Ei = ei; if ("com.googlecode.eyesfree.espeak".Equals(ei.Name)) { Quality = -2; } else if ("com.reecedunn.espeak".Equals(ei.Name)) { Quality = -2; } else if ("com.svox.pico".Equals(ei.Name)) { Quality = -1; } else if ("com.acapelagroup.android.tts".Equals(ei.Name)) { Quality = 2; } else if ("com.ivona.tts".Equals(ei.Name)) { Quality = 3; } else if ("nuance.tts".Equals(ei.Name)) { Quality = 2; } else if ("com.svox.classic".Equals(ei.Name)) { Quality = 1; } else if ("com.google.android.tts".Equals(ei.Name)) { Quality = 1; } }