Как подать разные звуковые сигналы для JOptionPane?

Как я могу генерировать разные звуковые сигналы для разных типов сообщений (например, предупреждение, информация, вопрос), используя JOptionPane в Java. Как и в ОС Windows, для каждого сообщения, которое появляется пользователю, разный звуковой сигнал. В настоящее время я использую следующие сигналы для генерации звукового сигнала, но каждый раз он звучит одинаково.

Toolkit.getDefaultToolkit().beep();
JJOptionPane.showMessageDialog( myFrame, "Message", "Title", JOptionPane.INFORMATION_MESSAGE );

Я хочу другой звуковой сигнал для предупреждения, информационного сообщения и вопроса. Есть ли способ сделать это?

1 ответ

Решение

beep выдает запрос базовой операционной системе на передачу звукового сигнала. На некоторых платформах, таких как Windows, воспроизводится "звук по умолчанию".

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

AudioInputStream ais = 
     AudioSystem.getAudioInputStream(getClass().getResource("/information.wav"));
Clip clip = AudioSystem.getClip();
clip.open(ais);
clip.start();            
JOptionPane.showMessageDialog(...);
clip.close();
Другие вопросы по тегам