Системные звуки в Java
Я пытаюсь закодировать диалоговое окно с ошибкой, и я хочу, чтобы он вызывал правильный системный звук. Есть ли способ получить доступ к системным звукам из Java (т.е. Звук запуска, звуковой сигнал по умолчанию, звездочка, критическая остановка и т.д.)?
Примечание: Я знаю о java.awt.Toolkit.getDefaultToolkit().beep();
Ответы
Ответ 1
Здесь ya go (исключительно для окон:)
final Runnable runnable =
(Runnable) Toolkit.getDefaultToolkit().getDesktopProperty("win.sound.exclamation");
if (runnable != null) runnable.run();
Дополнительные звуки для Windows (все страницы содержат одно и то же содержимое): Java 6, Java 7, Java 8. (Удачи найти некоторые для других ОС!)
Ответ 2
Я предполагаю, что вы говорите о звуках системы Windows? У моего mac нет шума "критической остановки".; -)
Вам нужно будет найти правильный путь к этим звуковым файлам. Я предполагаю, что они wav файлы, поэтому что-то вроде этого должно работать:
new JavaSoundAudioClip(new FileInputStream(new File("/tmp/go.wav"))).play();
Файл может иметь такой путь, как:
C:\WINDOWS\MEDIA\Microsoft Office 2000\EXPLODE.WAV
ПРИМЕЧАНИЕ. Это немедленно вернется, хотя звук был "поставлен в очередь" на аудиоустройство. Вы можете позвонить stop()
, если вам нужно его остановить.
Если вам нужно сделать что-то более специальное, посмотрите этот форум Java. Вот некоторая документация, которая раскрывает, как использовать аудиосистему более непосредственно.