Системные звуки в Java - PullRequest
       23

Системные звуки в Java

11 голосов
/ 14 октября 2010

Я пытаюсь закодировать диалоговое окно с сообщением об ошибке и хочу, чтобы оно вызывало правильный системный звук. Есть ли способ получить доступ к системным звукам из Java (т. Е. Звук при запуске, звуковой сигнал по умолчанию, звездочка, критический останов и т.

Примечание: Я знаю о java.awt.Toolkit.getDefaultToolkit().beep();

Ответы [ 2 ]

17 голосов
/ 07 августа 2013

Вот, пожалуйста (исключительно для Windows:)

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

Больше звуков для Windows (все страницы содержат одинаковое содержимое): Java 6 , Java 7 , Java 8 .(Удачи в поиске некоторых для других ОС!)

3 голосов
/ 14 октября 2010

Я полагаю, вы говорите о звуках системы Windows?Мой Mac не имеет шума "критической остановки".; -)

Вам нужно будет найти правильный путь файловой системы к этим звуковым файлам.Я предполагаю, что это wav-файлы, поэтому что-то вроде этого должно работать:

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

Файл может иметь путь, такой как:

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

ПРИМЕЧАНИЕ. Это немедленно вернется, хотя звукбыл «в очереди» на аудиоустройство.Вы можете позвонить stop(), если вам нужно остановить его.

Если вам нужно сделать что-то более особенное, взгляните на этот форум Java .Вот некоторая документация, которая описывает, как использовать аудиосистему более непосредственно .

...