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中文網其他相關文章!