代码之家  ›  专栏  ›  技术社区  ›  Ky -

爪哇系统声音

  •  11
  • Ky -  · 技术社区  · 14 年前

    我试图编写一个错误对话框,我希望它调用正确的系统指定声音。有没有办法从Java访问系统声音(即启动声音、默认哔哔声、星号、临界停止等)?

    注: 我知道 java.awt.Toolkit.getDefaultToolkit().beep();

    2 回复  |  直到 8 年前
        1
  •  17
  •   Gray droiddeveloper    8 年前

    给你(Windows专用)

    final Runnable runnable =
         (Runnable) Toolkit.getDefaultToolkit().getDesktopProperty("win.sound.exclamation");
    if (runnable != null) runnable.run();
    

    Windows的其他声音(所有网页包含相同内容): Java 6 , Java 7 , Java 8 . (祝您在其他操作系统中找到一些!)

        2
  •  3
  •   Gray droiddeveloper    14 年前

    我想你说的是Windows系统声音?我的Mac没有“紧急停止”噪音。;-)

    您需要找到这些声音文件的正确文件系统路径。我假设它们是wav文件,因此类似这样的文件应该可以工作:

    new JavaSoundAudioClip(new FileInputStream(new File("/tmp/go.wav"))).play();
    

    文件可能具有以下路径:

    C:\WINDOWS\MEDIA\Microsoft Office 2000\EXPLODE.WAV
    

    注意:尽管声音已“排队”到音频设备,但这将立即返回。你可以打电话 stop() 如果你需要阻止它。

    如果你需要做一些更特别的事情,看看 this Java forum . 以下是一些文档,详细介绍了如何使用 audio system more directly .

    推荐文章