【问题标题】:Output sound to multiple channels of the sound card将声音输出到声卡的多个通道
【发布时间】:2011-06-25 05:15:16
【问题描述】:

我正在尝试用 Java 构建一个程序,它能够将声音输出到我的声卡上的不同输出线。

用Java怎么可能做?

【问题讨论】:

    标签: java audio soundcard


    【解决方案1】:

    您可以使用Jack(插孔音频连接套件)将声音路由到您的声卡。它有点复杂,它不适用于pulseaudio,但你可以让它工作。

    JnaJack 通过 JNA 提供从 Java 到 Jack API 的接口。这真的很容易。

    我写得更详细here

    【讨论】:

      【解决方案2】:

      查看Java sound programmer's guide

      为了让它工作,我必须重新配置我的声卡以将其端口公开为单独的“输出”;否则声卡会根据是否插入耳机自动路由声音。(在 Windows 上。)

      【讨论】:

      • 你是如何重新配置​​你的声卡的?我在 Mac 上做了这个,但我还需要它在 Windows 上工作,但还没有找到方法。
      【解决方案3】:

      我不确定您在处理声音方面有什么背景(它可能比我的要大),但我认为您拥有的是要定向到多个端口的多条线路? http://download.oracle.com/javase/7/docs/api/javax/sound/sampled/package-summary.html - 这可能是一个 API,我不太了解(我见过一个程序使用类似 VoIP 的东西)。 顺便说一句,如果您在 Windows 上工作,我相信有关您的声卡的一些信息存储在注册表中,您可能必须从程序更新注册表才能访问它(不确定)。

      我希望我能以某种方式帮助:)

      【讨论】:

      • 谢谢。从我设法收集的内容来看,我认为 Java 无法查看我的声卡有哪些通道。我可以通过它播放声音,但只能在我的系统偏好设置为默认的频道上播放。顺便说一句,我在 Mac 上。