2010-07-27 2 views
2

Я разрабатываю приложение Linux на компьютере с двумя звуковыми картами, и я хочу использовать оба одновременно в OpenAL, каждый в своем собственном контексте. Когда я вызываю расширение enumeration OpenAL, alcGetString (NULL, ALC_DEVICE_SPECIFIER), чтобы получить список возможных устройств вывода, список состоит только из «ALSA Software» и «OSS Software». Я знаю, что это просто взгляд OpenAL на программные устройства, поэтому, когда я выбираю любой из них, OpenAL просто выводит аудио на устройство по умолчанию, настроенное в ALSA или OSS. Я даже не уверен, что это возможно, но есть ли способ направить аудиовыход контекста OpenAL на конкретное устройство? Таким образом, я мог бы создать два контекста, по одному для каждого устройства, и отправить отдельный звук каждому.Выход OpenAL на несколько устройств (Linux)

Спасибо, -Аль

+0

Вы можете принять свой собственный ответ, и, вероятно, должны в этой ситуации :). Я нашел это полезным, спасибо. – Ephphatha

ответ

4

Я сделал некоторые испытания сегодня и нашел ответ. По-видимому, вам нужно вызвать alcGetString с аргументом ALC_ALL_DEVICES_SPECIFIER, чтобы получить полный список. Достаточно простое изменение, но документация OpenAL по этой функциональности в лучшем случае облачна и в худшем случае вводит в заблуждение. См. Раздел 9.5 Спецификации OpenAL 1.1 и подразделение «Изобретения Creative Labs» для OpenAL »->« Enumerate All Extension »->« Извлечение имен устройств »Руководства для программиста OpenAL, чтобы понять, что я имею в виду.

OpenAL документация: http://connect.creativelabs.com/openal/Documentation/Forms/AllItems.aspx

Смежные вопросы