系统相关
首页 > 系统相关> > OpenAL输出到多个设备(Linux)

OpenAL输出到多个设备(Linux)

作者:互联网

我正在一台带有两个声卡的计算机上开发一个Linux应用程序,我想在OpenAL中同时使用它们,每个都在自己的上下文中.当我调用OpenAL的枚举扩展名alcGetString(NULL,ALC_DEVICE_SPECIFIER)以获取可能的输出设备列表时,该列表仅包含“ALSA软件”和“OSS软件”.我知道这些只是OpenAL对软件设备的看法所以当我选择其中任何一个时,OpenAL只会将音频输出到ALSA或OSS中配置的默认设备.我甚至不确定它是否可行,但有没有办法将OpenAL上下文的音频输出定向到特定设备?这样我可以创建两个上下文,每个设备一个,并为每个上下文发送单独的音频.

谢谢,
-Al

解决方法:

我今天做了一些测试并找到了答案.显然,您必须使用参数ALC_ALL_DEVICES_SPECIFIER调用alcGetString才能获得完整列表.一个简单的变化,但OpenAL关于此功能的文档最多是阴天,最糟糕的是误导.请参阅OpenAL 1.1规范的第9.5节和“OpenAL的创意实验室扩展”小节 – >“枚举所有扩展” – >“检索OpenAL程序员指南的设备名称”以了解我的意思.

OpenAL文档:
http://connect.creativelabs.com/openal/Documentation/Forms/AllItems.aspx

标签:linux,audio,device,openal
来源: https://codeday.me/bug/20190827/1739880.html