きっと誰の参考にもならないだろうと思ったのですが、音を鳴らしてみました( *´艸`)
音の鳴らし方といえば・・・
あまり思いつかなかったのですが、大きく2パターンかと。
- 何らか音声ファイルを再生する
- ビープ音を鳴らす
では、やってみます。
1つ目 – 何らか音声ファイルを再生する
とりあえず、windowsのmediaにあるサウンドファイルを鳴らしてみます。
おまけで、どんな形式をサポートしているか出力してみます。
Clip#isActive()で、再生が終わるのを待っています。
また、Clip#loop(int)で、リピートする回数を指定できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | import java.io.File; import java.io.IOException; import javax.sound.sampled.AudioFileFormat.Type; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.Clip; import javax.sound.sampled.DataLine; import javax.sound.sampled.LineUnavailableException; import javax.sound.sampled.UnsupportedAudioFileException; public class SoundTest { public static void main(String[] args) { System.out.println("===== サポートしている形式 ====="); Type[] typeArray = AudioSystem.getAudioFileTypes(); for(Type type : typeArray) { System.out.println(type.toString()); } AudioInputStream ais = null; try { ais = AudioSystem.getAudioInputStream(new File("C:\\Windows\\Media\\Alarm01.wav")); AudioFormat af = ais.getFormat(); DataLine.Info info = new DataLine.Info(Clip.class, af); Clip clip = (Clip)AudioSystem.getLine(info); clip.open(ais); clip.loop(0); clip.flush(); while(clip.isActive()) { Thread.sleep(100); } } catch (UnsupportedAudioFileException | IOException | LineUnavailableException | InterruptedException e) { e.printStackTrace(); }finally { try { ais.close(); } catch (IOException e) { e.printStackTrace(); } } } } |
実行結果
1 2 3 4 | ===== サポートしている形式 ===== WAVE AU AIFF |
・・・あと、目的はこっちなので当たり前ですが、音が鳴ります(^^♪
2つ目 – ビープ音を鳴らす
誰も使ってないであろうAWTにビープが用意されていますw
こちらは呼び出すだけなので簡単です。
1 2 3 4 5 | public class SoundTest2 { public static void main(String[] args) { java.awt.Toolkit.getDefaultToolkit().beep(); } } |
実行結果
もちろん、音が出ますw
Javaで画像を作るには・・・?
Javaで画像を作る方法は、こちらを見てください。