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