Exemplo n.º 1
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            SetContentView(Resource.Layout.main);
            key = true;
            EditText        tb1     = FindViewById <EditText>(Resource.Id.text);
            SeekBar         ss      = FindViewById <SeekBar>(Resource.Id.speed);
            TextView        sst     = FindViewById <TextView>(Resource.Id.textSpeed);
            SeekBar         sp      = FindViewById <SeekBar>(Resource.Id.ton);
            TextView        spt     = FindViewById <TextView>(Resource.Id.textton);
            Button          button1 = FindViewById <Button>(Resource.Id.buttonread);
            ttsListFragment frag    = SupportFragmentManager.FindFragmentById(Resource.Id.tts_list_fragment) as ttsListFragment;

            ttslist     = new List <elemTts>();
            ss.Progress = sp.Progress = 127;
            sst.Text    = spt.Text = "0,5";
            context     = button1.Context;

            tt = new TextToSpeech(this, this);
            tt.SetPitch(1.25f);
            tt.SetSpeechRate(1f);
            sp.StopTrackingTouch += (object sender, SeekBar.StopTrackingTouchEventArgs e) =>
            {
                var seek     = sender as SeekBar;
                var progress = seek.Progress / 255f;
                tt.SetPitch(seek.Progress / 170f + 0.5f);
                spt.Text = progress.ToString("F2");
            };
            ss.StopTrackingTouch += (object sender, SeekBar.StopTrackingTouchEventArgs e) =>
            {
                var seek     = sender as SeekBar;
                var progress = seek.Progress / 255f;
                tt.SetSpeechRate(seek.Progress / 255f + 0.1f);
                sst.Text = progress.ToString("F2");
            };
            button1.Click += delegate
            {
                try
                {
                    if (new Regex(@"[А-Яа-я]").Match(tb1.Text).Success)
                    {
                        tb1.FindFocus();
                        throw new Exception("возможно чтение только символов английского алфавита");
                    }

                    ttslist.Add(new elemTts(tb1.Text, ss.Progress / 255f + 0.1f, sp.Progress / 170f + 0.5f));
                    frag.OnResume();
                    if (ttslist.Count == 1)
                    {
                        Dictionary <string, string> param = new Dictionary <string, string> {
                            { TextToSpeech.Engine.KeyParamUtteranceId, "1" }
                        };
                        tt.PlaySilence(10, QueueMode.Add, param);
                    }
                }
                catch (Exception E)
                {
                    Toast.MakeText(this, E.Message, ToastLength.Short).Show();
                }
            };
            Button button2 = FindViewById <Button>(Resource.Id.buttonload);

            button2.Click += delegate
            {
                StartActivityForResult(new Intent(this, typeof(FilePickerActivity)), tkey);
            };
        }