请问在播放之前如何测量 SpeechSynthesierStream 的持续时间?
SpeechSynthesizer ss = new SpeechSynthesizer();
SpeechSynthesisStream sss;
ss.Voice = SpeechSynthesizer.AllVoices[3];
sss = await ss.SynthesizeTextToStreamAsync("Hello world.");
MediaElement mediaElement = new MediaElement();
mediaElement.SetSource(sss, sss.ContentType);
//here I want to get the duration
mediaElement.Play();
这段代码工作得很好,说“Hello world。”。一段时间后, mediaElement.NaturalDuration 也具有正确的值。但我需要在播放演讲之前尽快知道演讲的持续时间。我为 mediaElement.MediaOpen 添加了处理程序,但是这个“SetSource”可能不会触发这个事件。谢谢你。