我在大学里的兄弟会里,在这个兄弟会里,我们有楼梯。不时有人从楼梯上摔下来。我们通常从酒吧后面的电脑播放音乐(通常来自互联网或 iTunes)。我有一个 USB 按钮,并且想编写一个程序,当我在有人从楼梯上摔下来后按下按钮时,临时静音背景音乐并播放歌曲“Wiiiipe-ouuut”中的片段。我怎么能用声音做到这一点......有人有什么想法吗?
1 回答
制作一个只显示一个播放给定声音提示的按钮,甚至是一组用于不同提示的按钮的 Java 应用程序非常容易。
您可能会让应用程序保持运行,等待正确的时间按下按钮,以获得近乎即时的响应。我会使用 Swing 库制作按钮并使用 javax.sound.sampled.Clip 将声音保存在内存中并根据命令播放。但是,可能还有更简单的音频对象可以做到这一点,因为您实际上不需要做任何事情,只需以最大音量播放提示。此外,JavaFX 开始用于 gui 按钮。
我不知道如何从 Java 中调低 iTunes 或浏览器的音量。这并不是说它不能完成。如果其他人可以说如何,请务必选择他们的答案!我只是还没有尝试这样做。
但是,如果您练习几次,手动调高和调低 iTunes 或浏览器的音量也许并不难。调高或调低音量的好处是不像停止和重新启动音乐应用程序那样具有破坏性。所以,调低应用程序中的音量(不是主计算机音量!),将鼠标悬停在 Java 按钮应用程序上并单击它,等待声音结束并重新调高音乐应用程序的音量。不理想,但它可以产生所需的声音。
另一个想法,可能不是控制音乐应用程序,而是有一种方法可以在播放应用程序之前通过 Java 路由应用程序的输出。在这种情况下,可以编写一个按钮来处理整个序列。我将 TargetDataLine 视为用于处理声音流输入的主要工具,但不知道您如何识别适当的混音器线路或端口。这可能需要根据您的设置和操作系统以及声卡或音响系统进行定制。
有趣的想法!另一种语言也可能适用于此,例如,带有 HTML5 的单独的小浏览器窗口和用于启动声音效果的按钮。