使用 OpenAL 播放到特定频道
Use OpenAL to playback to specific channel
我的系统目前使用两张杜比 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)
我希望能够创建 "virtual" 映射到特定 ALSA PCM 的 OpenAL 设备。这可能吗?
我可以在 alsoft.conf
文件中指定一个 ALSA PCM(通过 device =
标签),但是在其他任何地方都看不到映射 alsoft 和 ALSA 设备。
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>
,每个条目用分号分隔(请注意前空格和 post 空格被保留,而不是被删除)。这些添加到通常提供的设备列表中,并出现在 ALSA 默认设备之后。它目前也没有验证 ALSA 设备是否真的有效,如果不是,相关的 OpenAL 设备将无法打开。
看来具有此功能的官方 OpenAL 版本 1.18 将于 2017 年 6 月发布。
我的系统目前使用两张杜比 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)
我希望能够创建 "virtual" 映射到特定 ALSA PCM 的 OpenAL 设备。这可能吗?
我可以在 alsoft.conf
文件中指定一个 ALSA PCM(通过 device =
标签),但是在其他任何地方都看不到映射 alsoft 和 ALSA 设备。
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>
,每个条目用分号分隔(请注意前空格和 post 空格被保留,而不是被删除)。这些添加到通常提供的设备列表中,并出现在 ALSA 默认设备之后。它目前也没有验证 ALSA 设备是否真的有效,如果不是,相关的 OpenAL 设备将无法打开。
看来具有此功能的官方 OpenAL 版本 1.18 将于 2017 年 6 月发布。