2016-05-11 3 views
0

У меня есть восьмиканальная звуковая карта. 8 аудио и 8 аудиовыходов. Когда драйвер для звуковой карты установлен, на устройствах воспроизведения отображается следующее.Вывод нескольких аудиосигналов на отдельные каналы звуковой карты

  • Играть 1-2
  • Играть 3-4
  • Играть 5-6
  • Играть 7-8

можно перечислить все 4 устройства (1-2, Играть Играть 3-4) и играть на каждом из них. Текущая ситуация только позволяет мне иметь 4 аудиовыхода. Звуковая карта также имеет отдельные аудиовыходы/порт для каждого канала.

Что я хочу сделать, это играть в Play 1, Play 2, Play 3 и т. Д. Есть ли способ достичь этого. В настоящее время я использую NAudio для перечисления и воспроизведения.

ответ

0

Вы можете воспроизводить два независимых монопотока из одной из стереопар, используя MultiplexingSampleProvider или MultiplexingWaveProvider. Если вы хотите рассматривать всю звуковую карту как одно устройство, то я обнаружил, что AsioOut имеет тенденцию быть единственным вариантом, и вы снова можете использовать поставщиков мультиплексирования для маршрутизации отдельных аудиовизуальных файлов NAudio на разные выходы устройства.

+0

Спасибо за предложение. Я смог сделать это, используя смещения выходного канала asio, которые были включены в демо. Спасибо за потрясающую библиотеку! –

+0

Быстрый вопрос: теперь я пытаюсь использовать запись asio и играть с многопоточными. (Начните новый поток для каждого воспроизведения/записи по 1 каналу) Тем не менее, я получаю STAThread ошибку, поэтому я изменил свой код, чтобы использовать новые объекты AsioOut для каждого 1 канала. Но я получаю этот «код ошибки [ASE_InvalidMode] при вызове метода ASIO » в методе initRecordAndPlayback –