我的 C# 应用程序需要将文本转换为 wav 文件并将其注入(inject)到 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();
}
最佳答案
SetOutputToWaveFile()
有一个接受 SpeechAudioFormatInfo
的重载参数,可用于设置采样率。 奇怪的是,没有看到 既然您正在写入一个文件,那应该可以工作。SetOutputToWaveStream()
的一个,但是
编辑:
正如@Hans 指出的,正确的重载是 SetOutputToAudioStream()
写入流。
关于c# - C# 中的 SpeechSynthesizer 创建具有 22kHz 的 wav...需要为 16kHz,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2625611/