Используйте OpenAL для воспроизведения на конкретный канал
У меня есть система, которая в настоящее время использует две звуковые карты Dolby 7.1, каждая из которых использует OpenAL/alsoft для воспроизведения различных стереофонических выходов на разных наборах динамиков.
Так как мне не нужны все выходные каналы на обеих картах, я ищу удалить одну из звуковых карт в системе.
Я доказал, что аппаратное обеспечение поддерживает это, изменив мои файлы конфигурации ALSA, и я могу воспроизводить звук только на одном наборе динамиков, используя aplay -D setA /tmp/sound.wav
и ALSA PCM и тот же звук только для другого набора колонок, использующих другой PCM: aplay -D setB /tmp/sound.wav
, setA
а также setB
определены в asound.conf
файл.
Устройства воспроизведения, доступные при запросе OpenAL/alsoft:
ALSA Software on Xonar DX [Multichannel] (hw:0,0)
ALSA Software on Xonar DX [Digital] (hw:0,1)
Я хотел бы иметь возможность создавать "виртуальные" устройства OpenAL, которые сопоставляются с конкретными PCS ALSA. Это возможно?
Я могу указать ALSA PCM в alsoft.conf
файл (через device =
тегом), но больше нигде не отображается, где отображаются устройства alsoft и ALSA.
1 ответ
Последний ствол OpenAL имеет именно ту функцию, которую я ищу.
От сопровождающего OpenAL: https://openal.org/pipermail/openal/2017-May/000639.html
В последней версии вы можете указать отображение каналов ALSA PCM на устройства OpenAL следующим образом:
[alsa]
custom-devices = Stereo Set 1=setA;Stereo Set 2=setB
Формат <OpenAL device name>=<ALSA device name>
, с каждой записью, разделенной точкой с запятой (обратите внимание, что пре- и пост-пробелы сохраняются, а не удаляются). Они добавляют к списку устройств, которые обычно предоставляются, и появляются после устройства ALSA по умолчанию. В настоящее время он также не проверяет, действительно ли устройство ALSA действительно, соответствующее устройство OpenAL просто не сможет открыться, если это не так.
Похоже, что официальный выпуск OpenAL 1.18 с этой функцией будет выпущен в июне 2017 года.