Идентификатор устройства NAudio WaveOutC#

Место общения программистов C#
Anonymous
Идентификатор устройства NAudio WaveOut

Сообщение Anonymous »

Мне нужно выбрать устройство WaveOut для воспроизведения звука, но я не могу этого сделать.

Код: Выделить всё

void Initialize()
{
_WaveOut = new WaveOut();
var reader = new WaveFileReader(FileName);
_WaveOut.Init(new WaveChannel32(reader));
}
Запускается эта функция, затем запускается форма. После этого в моей форме я выбираю волновое устройство с выпадающим списком. Поле со списком заполнено следующим кодом:

Код: Выделить всё

for (int i = 0; i < WaveOut.DeviceCount; i++)
{
WaveOutCapabilities WOC = WaveOut.GetCapabilities(i);
comboBox2.Items.Add(WOC.ProductName);
}
После этого я выбираю свое устройство.

Код: Выделить всё

int WaveOutDeviceId = comboBox2.SelectedIndex;
И запустите функцию воспроизведения:

Код: Выделить всё

void Play()
{
_WaveOut.DeviceNumber = WaveOutDeviceId;
_WaveOut.Play();
}
Но мой звук всегда воспроизводится на устройстве по умолчанию (с номером = 0). Если я сделаю это для микрофона, этот код будет работать правильно.

Подробнее здесь: https://stackoverflow.com/questions/132 ... -device-id

Вернуться в «C#»