在SpeechSynthesizer讲C#时调整文本大小

时间:2015-07-25 14:46:25

标签: c# .net wpf text-to-speech speech-synthesis

我想知道在.NET Microsoft语音合成器讲话时是否有人能告诉我如何基本调整标签或图像的大小。

目标是在合成器说话时使中心的文字变得越来越小。因此,当有高音高时,则文本更大,低音高文本更小等。

在合成器讲话时有什么方法可以做到这一点? 我已经尝试使用SpeakStarted和SpeakComplted事件调整文本大小,但它是静态的 - 它不会随着合成器说话而改变。

我真的很感激任何帮助。

我在C#WPF编程。

非常感谢。

1 个答案:

答案 0 :(得分:0)

如何订阅SpeakProgress或StateChanged事件? SpeakProgress在发出提示的单个词之后被提升。',StateChanged提供有关已暂停,就绪或说话的选项'。 https://msdn.microsoft.com/en-us/library/hh362940%28v=office.14%29.aspx

SpeechSynthesizer synth = new SpeechSynthesizer();

// Add a handler for the SpeakProgress event.
synth.SpeakProgress += 
new EventHandler<SpeakProgressEventArgs>(synth_SpeakProgress);

// Write each word and its character position to the console.
static void synth_SpeakProgress(object sender, SpeakProgressEventArgs e)
{
  Console.WriteLine("Speak progress: {0} {1}", e.CharacterPosition, e.Text);
}