4

我的 C# 应用程序需要将文本转换为 wav 文件并将其注入到 Skype 通话中。创建 wav 文件的代码如下。问题是该文件有 22kHz 的采样率,而 Skype 只接受 16kHz。

有没有办法调整这个设置?

using (System.IO.FileStream stream = System.IO.File.Create("message.wav"))
{

System.Speech.Synthesis.SpeechSynthesizer speechEngine = new System.Speech.Synthesis.SpeechSynthesizer();

 speechEngine.SetOutputToWaveStream(stream);
 speechEngine.Speak(number);
 stream.Flush();
}
4

1 回答 1

4

SetOutputToWaveFile()有一个接受SpeechAudioFormatInfo参数的重载,该参数可用于设置采样率。 奇怪的是,没有看到一个SetOutputToWaveStream(),但既然你正在写入一个文件,那应该可以工作。

编辑:

正如@Hans 指出的那样,正确的重载是SetOutputToAudioStream()写入流。

于 2010-04-12T21:37:41.207 回答