我希望有一个能够直接与5.1系统的扬声器联系的程序。也就是说,我想对一个播放器进行编程,使其在我想要的确切扬声器上播放音频文件,并在整个文件中逐渐更改各个扬声器。
那就是我想做的,但是我不知道该怎么做。使用任何高级编程语言都可以做到这一点,还是我需要直接与声卡/声卡驱动程序进行交互[因为这样,我需要立即放弃它] ...这可能吗,有人知道吗?哪些图书馆对我有帮助?
最佳答案
绝对有可能。如果您回答几个问题,可能会有更具体的答案。
1)您正在使用什么操作系统?
2)扬声器如何连接到计算机?通过1x RCA或TOSLINK接口(interface)进行数字连接,还是通过3x耳机接口(interface)进行模拟连接?
如果您使用的是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通道音频输出。
关于audio - 直接联系5.1系统的扬声器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37863047/