Отсутствует виртуальный микрофон
Должен появляться виртуальный микрофон, но увы нету.
Что делать?
using System;
using System.Threading;
using System.Windows.Forms;
using NAudio.Wave;
using NAudio.CoreAudioApi;
namespace CustomMic
{
public partial class Form1 : Form
{
private WasapiLoopbackCapture virtualMicrophone;
private AudioFileReader audioFile;
private WaveOut waveOut;
public Form1()
{
InitializeComponent();
virtualMicrophone = new WasapiLoopbackCapture(); // Создаем виртуальный микрофон
audioFile = new AudioFileReader("C:\\Users\\Negr\\OneDrive\\Рабочий стол\\Test1\\Test.mp3"); // Укажите путь к вашему MP3 файлу
waveOut = new WaveOut();
virtualMicrophone.DataAvailable += VirtualMicrophoneOnDataAvailable;
}
private void VirtualMicrophoneOnDataAvailable(object sender, WaveInEventArgs e)
{
if (waveOut == null) // Проверяем, был ли объект waveOut инициализирован
{
waveOut = new WaveOut(); // Если не был, то инициализируем
waveOut.Init(audioFile); // Инициализируем waveOut с аудио файлом
}
else
{
if (waveOut.PlaybackState == PlaybackState.Stopped) // Если состояние воспроизведения было остановлено
{
waveOut.Play(); // Начинаем воспроизведение
}
}
byte[] buffer = new byte[e.BytesRecorded];
audioFile.Read(buffer, 0, buffer.Length);
}
private void button1_Click(object sender, EventArgs e) // Обработчик события для кнопки "Start"
{
ThreadPool.QueueUserWorkItem(state =>
{
virtualMicrophone.StartRecording(); // Запускаем запись виртуального микрофона
});
}
private void button2_Click(object sender, EventArgs e) // Обработчик события для кнопки "Stop"
{
virtualMicrophone.StopRecording(); // Останавливаем запись виртуального микрофона
audioFile.Position = 0; // Сбрасываем позицию воспроизведения аудио файла
waveOut.Stop(); // Останавливаем воспроизведение
}
}
}