Как записать тишину без микрофона - PullRequest
0 голосов
/ 08 октября 2018

У меня есть настольное приложение на C #, которое записывает звук из MIC с помощью библиотеки NAudio.Приложение начинает запись с устройства ввода по умолчанию, если к системе подключен микрофон.Выходной волновой файл сохранен.Я хочу записать без вывода сообщений в выходной файл, если MIC не подключен, Как я могу подать фиктивный MIC или виртуальный MIC, чтобы начать запись, если реальный микрофон не подключен.

Спасибо Вот код:

class AudioRecorder
    {
        private WaveIn waveIn = null;
        private WaveFileWriter waveWriter = null;
        public AudioRecorder()
        {
            if (WaveIn.DeviceCount > 0) //Means there is a mic
            {
                waveIn = new WaveIn();
                waveIn.DeviceNumber = 0; //default device
                waveIn.DataAvailable += WaveIn_DataAvailable;
            }
            else
            {
                //I want to add the virtual mic that will send only silent signal
            }
        }
        public void Start()
        {
            waveIn.StartRecording();
        }
        public void Stop()
        {
            waveIn.StopRecording();
        }
        private void WaveIn_DataAvailable(object sender, WaveInEventArgs e)
        {
            if (waveWriter == null)
                waveWriter = new WaveFileWriter("output.wav", new WaveFormat(44100, 2));
            waveWriter.Write(e.Buffer, 0, e.BytesRecorded);
        }
    }
...