Пример #1
0
        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);
        }
Пример #2
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;
                }
            }