如何在Java中的Mac上播放蜂鸣音/警报音

如何在Java中的Mac上播放蜂鸣音/警报音,java,Java,我试过两者都用 Toolkit.getDefaultToolkit().beep()和 System.out.println(“\007”) 两人都没有发出声音。我试着在我的IDE(CodeRunner 2)和终端中运行代码,看看它是否有作用,但没有 如果有人知道另一种方法或者为什么不起作用,请告诉我 谢谢 我想您正在寻找: 这将允许您获取当前环境的实例,您可以在其中发出此类命令。或者您可以尝试将其与JNA库一起使用: import com.sun.jna.platform.win32.K

我试过两者都用


Toolkit.getDefaultToolkit().beep()

System.out.println(“\007”)

两人都没有发出声音。我试着在我的IDE(CodeRunner 2)和终端中运行代码,看看它是否有作用,但没有

如果有人知道另一种方法或者为什么不起作用,请告诉我


谢谢

我想您正在寻找:


这将允许您获取当前环境的实例,您可以在其中发出此类命令。

或者您可以尝试将其与JNA库一起使用:

   import com.sun.jna.platform.win32.Kernel32;
   import com.sun.jna.Native;
   import com.sun.jna.Library;

   interface JnaTests extends Library {
    public boolean Beep(int FREQUENCY , int DURATION );
    static Kernel32 kernel32 = (Kernel32) Native.loadLibrary("kernel32", Kernel32.class); 
   static void startBeep() throws InterruptedException { 
   kernel32.Beep(1200, (5000)); 
   Thread.sleep(50); 
  }
}




谢谢你尽管这不太管用,你能展示一些程序吗?我现在正在尝试,但无法让该死的东西发出哔哔声XD,Toolkit.getDefaultToolkit().beep();虽然我哥哥刚刚来救我,但似乎对我有用。getRuntime是一种方法。你在这里写的,没有括号。是的,我现在也看到了。。。愚蠢的错误!我仍然想知道为什么Toolkit.getDefaultToolkit().beep()会出现错误;不适用于you@a-先生下次:如果你看到你犯了一个错误,请通过编辑你的帖子来纠正。当你键入
tput bel
或在你的终端中时,你听到声音了吗?
Toolkit.getDefaultToolkit().beep()适合我。你确定其他一切都是应该的吗?你试过beatngu的建议吗(在我的机器上也播放了系统的哔哔声)?我不认为任何Mac用户的系统上都会有Kernel32…这个答案缺乏正确的解释(和格式)。
   import com.sun.jna.platform.win32.Kernel32;
   import com.sun.jna.Native;
   import com.sun.jna.Library;

   interface JnaTests extends Library {
    public boolean Beep(int FREQUENCY , int DURATION );
    static Kernel32 kernel32 = (Kernel32) Native.loadLibrary("kernel32", Kernel32.class); 
   static void startBeep() throws InterruptedException { 
   kernel32.Beep(1200, (5000)); 
   Thread.sleep(50); 
  }
  package com.sun.jna.platform;


  import com.sun.jna.Library;

   public class win32 {

   private static class MSG implements User32 {

    public MSG() {
    }
   }

  public interface Kernel32 extends Library { // ... (lines deleted for   clarity) ...  
    boolean Beep(int frequency, int duration); 
     //int GetLogicalDrives(); // ... (lines deleted for clarity)   ...      }   
    }
   public interface User32 extends Library { // ... (lines deleted for  clarity) ...  
        // ... (lines deleted for clarity) ... }
   }
  }
  Perhaps you could use the midi class too:



Sequencer sequencer = MidiSystem.getSequencer();
sequencer.open();
Sequence sequence = new Sequence(Sequence.PPQ,4);
Track track = sequence.createTrack();
ShortMessage a = new ShortMessage();
a.setMessage(144,9,56,100);
MidiEvent event = new MidiEvent(a, 1);
track.add(event);
sequencer.setSequence(sequence);
sequencer.start();
Thread.sleep(500);
sequencer.close();