1

アプリケーション内の Speech Synthesizer にプログレス バーを接続したいと考えています (テキストを読んでいる範囲を表示するため)。

私の SpeechSynthesizer コードの主なコンポーネントは次のとおりです。

    private void button1_Click(object sender, EventArgs e)//Start button
        {
            reader.Dispose();
            if (Basic_Word_Processor.Instance.richTextBoxPrintCtrl1.Text != "")
            {
                reader = new SpeechSynthesizer();
                reader.SpeakAsync(Basic_Word_Processor.Instance.richTextBoxPrintCtrl1.Text);
                button2.Enabled = true;
                button4.Enabled = true;
                reader.SpeakCompleted += new EventHandler<SpeakCompletedEventArgs>(reader_SpeakCompleted);
            }
            else
            {
                MessageBox.Show("Please insert text before launching Text to Speech.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

private void button2_Click(object sender, EventArgs e)//Pause button
        {
            if (reader != null)
            {
                if (reader.State == SynthesizerState.Speaking)
                {
                    reader.Pause();
                    button3.Enabled = true;
                }
            }

 private void button3_Click(object sender, EventArgs e)//Resume button
        {
            if (reader != null)
            {
                if (reader.State == SynthesizerState.Paused)
                {
                    reader.Resume();
                }
                button3.Enabled = false;
            }
            }


        private void button4_Click(object sender, EventArgs e)//Stop button
        {
            if (reader != null)
            {
                reader.Dispose();
                button2.Enabled = false;
                button3.Enabled = false;
                button4.Enabled = false;
            }
        }

このコードを進行状況バーに接続して、音声合成装置の現在のステータスを表示したいと思います (そして、ユーザーが進行状況バーを一時停止/停止すると一時停止/停止します)。これは可能ですか?進行状況バーを使用したことがありません適切なので、そうする方法についていくつかの助けが欲しいです。

ありがとう。

4

1 に答える 1