php小编小新在java问答中,有读者提出了一个问题:“我可以在 macOS 上使用什么 Java 函数在适当的设备上以适当的音量播放适当的警报声音?”这个问题涉及到在macOS系统上使用Java来控制设备播放警报声音的功能,需要结合Java的音频处理库来实现,具体操作方法和函数调用可以通过深入学习相关的Java音频处理知识来解决。
我希望我的 Java 应用程序在播放警报声音时遵循系统设置...中的 macOS 设置。 › 声音 › 音效。
例如,只要有人按下 backspace
并且光标位于 jTextField 中最左侧的位置,程序就会播放用户配置的“警报声音”。
在我的应用程序的其他功能中也有类似的播放相同警报声音的需求。但我还没有找到一个库,可以让我的应用程序在适当的设备上以适当的音量播放系统适当的“警报声音”。
我希望我的应用程序遵循以下 macOS 系统设置:
我该怎么做?
我已经在 macos 上尝试过 Toolkit.beep,它似乎可以满足您的要求。我尚未验证 jtextfield 是否调用 toolkit.beep,但它似乎正在调用它。人们可以查看 openjdk 源代码,可能会有更好的想法。
在 windows 上,jtextfield 似乎使用默认蜂鸣声。还有 toolkit.beep。
只要默认的 toolkit 可以使用(适合我),您就可以将以下内容放置在您的应用中需要提醒用户的位置。
toolkit tk = toolkit.getdefaulttoolkit(); tk.beep();
这是我的 mcv 示例。
import java.awt.event.*; import java.awt.BorderLayout; import java.awt.Toolkit; import javax.swing.*; public class Alert extends JFrame { private Toolkit tk = Toolkit.getDefaultToolkit(); public Alert () { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JTextField tf = new JTextField(); JButton bbeep = new JButton(new AbstractAction() { public void actionPerformed (ActionEvent e) {tk.beep();} }); setLayout(new BorderLayout()); getContentPane().add(tf, BorderLayout.NORTH); getContentPane().add(bbeep, BorderLayout.SOUTH); pack(); setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { new Alert(); } }); } }
以上是我可以在 macOS 上使用什么 Java 函数在适当的设备上以适当的音量播放适当的警报声音?的详细内容。更多信息请关注PHP中文网其他相关文章!