Репресинтезайзер в C # создает WAV, которая имеет 22 кГц ... должен быть 16 кГц
-
26-09-2019 - |
Вопрос
Мое приложение C # необходимо скрыть текст для файла WAV и ввести его в вызов Skype. Код, который создает файл WAV, ниже. Проблема в том, что файл имеет размер образца 22 кГц и Skype принимает только 16 кГц.
Есть ли способ настроить эту настройку?
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()
писать в поток.
Не связан с StackOverflow