[英]SpeechSynthesizer in C# creates wav that has 22kHz… needs to be 16kHz
我的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();
}
SetOutputToWaveFile()
有一個接受SpeechAudioFormatInfo
參數的重載,該參數可用於設置采樣率。
奇怪的是,沒有為
因為你無論如何都要寫一個文件,這應該有效。 SetOutputToWaveStream()
看到一個,但是
編輯:
正如@Hans指出的那樣,正確的重載是SetOutputToAudioStream()
來寫入流。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.