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