直接解决5.1系统的扬声器

时间:2016-06-16 15:10:39

标签: audio driver

我希望有一个能够直接处理5.1系统扬声器的程序。也就是说,我想编写一个播放器,它在我想要的确切扬声器上播放音频,并在整个文件中逐渐改变各自的扬声器。 这就是我想要做的,但我不知道如何做到这一点。是否可以使用任何高级编程语言,或者我是否需要直接与声卡/声音驱动程序进行交互[因为如果是这样,我需要立即放弃] ...这是可能的,并且有人知道吗无论如何,哪些图书馆会帮助我?

1 个答案:

答案 0 :(得分:0)

绝对有可能。如果你回答几个问题,就可以得到一个更具体的答案。

1)您使用的操作系统是什么? 2)你是如何将扬声器连接到电脑的?通过1x RCA或TOSLINK接口进行数字连接,还是通过3x耳机接口使用模拟连接?

如果您使用3x模拟连接,则只需使用OpenAL Soft

如果您使用数字连接,则需要将音频编码为环绕声压缩格式,如AC-3或DTS。在两个AC-3中可能更容易找到合适的编码器库。您可以使用ffmpeg(libavcodec),但请仔细检查许可是否与您的项目兼容。

理想情况下,如果您使用数字连接,则可以向OpenAL Soft添加AC-3支持,以便可以使用通用API,并使其他人受益。

此外,根据您的操作系统,可能会有一种更简单的操作系统特定方法。例如,如果您在Linux上使用数字连接,则可以配置ALSA插件为您执行AC-3编码,然后使用您选择的更高级别的多通道API,例如Jack或PortAudio。

编辑:HDMI有点超出我的经验范围。如果您将HDMI视为S / PDIF或TOSLINK,它应该可以正常工作,但CPU负载较高且可能存在压缩伪像。但是,Google搜索建议在Windows下,正确配置HDMI音频驱动程序(这似乎会给某些用户带来麻烦),您应该能够将HDMI音频视为6声道音频输出。