Javaで音を出す
Javaで音を出す方法を調べてみました。
まず調べると、AudioClipインターフェイスのインスタンスを生成する方法がありました。しかし、以下のように Appletクラスを使う古い方法なので普通のアプリケーションで使うには向いてないかな?
java.applet.AudioClip audio = Applet.newAudioClip([ファイルのURL]);
次に、それより新しい方法で Java Sound APIというAPIがあることが分かりました。javax.sound.sampledパッケージにある結構複雑なAPIで、とりあえず音を出すだけのサンプルはこちら。
InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(resourceName); AudioInputStream audioStream = AudioSystem.getAudioInputStream(inputStream); AudioFormat format = audioStream.getFormat(); Info info = new DataLine.Info(Clip.class, format); Clip clip = (Clip) AudioSystem.getLine(info); clip.open(audioStream); for (int index = 0; index < 3; index++) { clip.setFramePosition(0); clip.start(); Thread.sleep(10); clip.drain(); clip.stop(); }