我在 Clojure 中编写了几百行应用程序,它使用 JLayer Java 库作为我在后台运行 mp3 的音频。这工作正常,但只要我在后台运行任何其他音乐、YouTube 等(我正在运行 Arch Linux),我的应用程序中的声音就会完全停止。
我浪费了最后两个小时并尝试了几十种方法来解决这个问题,所以任何建议都值得赞赏。
由于您已声明您使用的是 Linux,因此问题可能出在您的 ALSA 驱动程序上。检查这篇文章是否能帮助您解决问题。
我之前曾在 PulseAudio 和 Jack 争夺声卡控制权方面遇到过问题。
你考虑过吗?你能检查这两个应用程序是否以这种方式相互竞争吗?
尽管我在 Java 声音方面没有个人编码经验,但据我了解,在涉及 Linux 声音服务和 Java 声音接口时,存在一些不匹配的假设和/或不完整的 API。将两者混合在一起,你就会得到你所遇到的。在玩 FreeTTS 时,我遇到了类似的,可能是同样的问题: