我的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();
}
答案 0 :(得分:4)
SetOutputToWaveFile()
有一个接受SpeechAudioFormatInfo
参数的重载,可用于设置采样率。 没有看到因为你正在写一个文件,这应该有效。SetOutputToWaveStream()
的一个,奇怪的是,但是
编辑:
正如@Hans指出的那样,正确的重载是SetOutputToAudioStream()
来写入流。