Отправить звук на разные аудио устройства - PullRequest
5 голосов
/ 24 марта 2011

Можно ли воспроизводить звук на устройстве воспроизведения, которое не установлено в качестве устройства воспроизведения по умолчанию?Мне нужно одновременно воспроизводить несколько файлов через несколько устройств вывода.

Кто-нибудь знает решение для .net?(C #)

Спасибо!

Ответы [ 3 ]

1 голос
/ 31 марта 2011

хорошо, я играл с подобной проблемой.

  1. XNA не удалось отправить вывод на определенное устройство.
  2. Я закончил с http://naudio.codeplex.com/,, что именно то, что вам нужно. Это оболочка C # для библиотек Wasapi, ASIO, DirectSound. Он также включает в себя много очень полезных классов для преобразования, декодирования, визуализации и т. Д. Для простого проигрывателя, посмотрите пример проекта NAudioDemo.

выяснить метод CreateWaveOut (). Здесь вы должны выбрать свое устройство воспроизведения. например:

MMDevice device = new MMDeviceEnumerator()
     .EnumerateAudioEndPoints(DataFlow.Render, DeviceState.All)
     .FirstOrDefault(d => d.ID == "yourplaybackdeviceid");
IWavePlayer waveOut = new WasapiOut(device, AudioClientShareMode.Shared, false, latency);

Скачивайте библиотеку naudio с вкладки исходного кода, а не из Download-> Release, она не очень актуальна и немного глючит.

1 голос
/ 28 марта 2011

вам придется перейти на более низкий уровень API.Вы можете попробовать найти оболочку C # для Wasapi, ASIO, DirectSound или MediaFoundation.Может быть, фреймворк XNA сможет справиться с этой задачей, который управляется фреймворком поверх DirectX

0 голосов
/ 31 мая 2011

еще один хороший инструмент - bass.net http://www.un4seen.com/

...