摘要:当我无法通过 Java 中的 javax.sound.sampled Sound API 找到它们时,如何访问外部 USB 音频声卡上的所有 8 个环绕声道,但底层 Windows 10 可以使用它们?我需要一种策略来从 Java 中访问所有 8 个通道,即使它需要操作系统中的其他驱动程序/软件(我已经尝试过 Windows 库存驱动程序和 C-Media 驱动程序。)
加长版:我有一个 C-Media 外部 USB 音频声卡。当我使用 java 声音 API 列出(Windows 10)系统上的混音器时,我可以在外部卡上看到扬声器的混音器,它们适用于立体声:
Mixer: Direct Audio Device: DirectSound Playback [Speakers (USB Sound Device)]
当我以编程方式列出支持的 SourceDataLine 格式时,我看到了单声道和立体声选项。
但是该卡支持环绕声 7.1,并且 Windows 10 系统能够向卡上的所有 8 个通道播放样本声音:前/后/侧/中/子。
所以我的问题是如何找到他们?我已经查看了 XTAudio 和 Jack,但是要找出花时间从 Java 中访问全部 8 个通道的选项非常耗时。
另外:当我在 OSX Catalina 上列出支持的混音器格式时,支持的格式有 8 个通道,效果很好,但我无法在 Windows 10 上获得这些格式:
PCM_SIGNED unknown sample rate, 16 bit, 8 channels, 16 bytes/frame, little-endian
PCM_SIGNED unknown sample rate, 16 bit, 8 channels, 16 bytes/frame, big-endian
PCM_SIGNED unknown sample rate, 24 bit, 8 channels, 24 bytes/frame, little-endian
PCM_SIGNED unknown sample rate, 24 bit, 8 channels, 24 bytes/frame, big-endian