Как воспроизвести аудиопоток System.Speech.Synthesis в микрофон Virtual Audio Cable с помощью NAudio? - PullRequest
0 голосов
/ 05 мая 2019

Для моего первого проекта на C # (я больше привык к C) я создаю простое приложение TTS с использованием System.Speech.Synthesis, но вместо вывода по умолчанию (например, колонки) я бы хотелукажите мой виртуальный аудио кабель микрофона.По сути это будет запись голоса TTS через мой микрофон.Немного погуглив, я решил попробовать NAudio.

Я могу установить альтернативный аудиопоток, используя SetOutputToWaveStream SpeechSynthesizer, но я не совсем уверен, как подключить это к NAudio или как указать мойвыходное устройство в качестве виртуального аудиокабеля.

// using System.Speech.Synthesis, NAudio.Wave, etc.

SpeechSynthesizer Voice = new SpeechSynthesizer();
public WaveStream ws;
public WaveOut wo = new WaveOut();

// SpeechSynthesizer also has a method for
// ouputting to WAV files, but that would
// be a last resort
Voice.SetOutputToWaveStream(ws); // FAILS HERE because "ws" is null
Voice.Speak(TextBox.Text);

wo.DeviceNumber = 0; // my VAC device #
wo.Init(ws);
wo.Play();
...