Sonidos del sistema en Java
-
30-09-2019 - |
Pregunta
Estoy tratando de código de un diálogo de error, y yo quiero que llame a la del sonido adecuada especificada por el sistema. ¿Hay alguna forma a los sonidos del sistema de acceso de Java (es decir, el sonido de inicio, pitido defecto, asterisco, parada crítica, etc.)?
Nota: que sé de java.awt.Toolkit.getDefaultToolkit().beep();
Solución
Aquí ya go (exclusivamente para Windows:)
final Runnable runnable =
(Runnable) Toolkit.getDefaultToolkit().getDesktopProperty("win.sound.exclamation");
if (runnable != null) runnable.run();
Más sonidos para Windows (todas las páginas contienen el mismo contenido): Java 6 , Java 7 , Java 8 . (Buena suerte para encontrar algunos para otro sistema operativo!)
Otros consejos
Asumo que usted está hablando de los sonidos del sistema de Windows? Mi Mac no tiene un ruido "parada crítico". ; -)
Usted tendrá que encontrar el camino adecuado sistema de ficheros a los archivos de sonido. Asumo que son archivos WAV así que algo como esto debería funcionar:
new JavaSoundAudioClip(new FileInputStream(new File("/tmp/go.wav"))).play();
El archivo puede tener una ruta como:
C:\WINDOWS\MEDIA\Microsoft Office 2000\EXPLODE.WAV
NOTA: Esto devolverá inmediatamente aunque el sonido ha sido "cola" al dispositivo de audio. Puede llamar stop()
si es necesario para detenerlo.
Si necesita hacer algo más especial para llevar un vistazo a este foro de Java . Aquí hay algunos documentos que se desglosa de la forma de utilizar el sistema de audio más directamente .