У меня есть настольное приложение на 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);
}
}