トップページ > コンテンツ > プログラミング入門 > Java入門 > GUIプログラミング > 音再生

音を鳴らすにはAudioClipクラスを使用する。

AudioClip ac;
ac = getAudioClip(getDocumentBase(),"sample.au");
または
ac = Applet.newAudioClip(getDocumnentBase(),"sample.au");

ただし、この方法ではau,wave,midi形式なら再生できるが、mp3とかのとき困る。
そのときには、Java Media Frameworkを使う方法がある。
JMFについてはここhttp://www.02.246.ne.jp/~torutk/jmf/index.htmlが分かりやすい。
ちなみに上のファイルの下にac.play();と書いてもうまくいかないケースがある。
恐らく、ロードするよりも先に再生しようとするかららしい。


どうやらこれらのサイトによると、
AudioInputStream ai =  AudioSystem.getAudioInputStream(filename);
DataLine.Info info = new DataLine.Info(Clip.class,ai.getFormat());
Clip clip = (Clip) AudioSystem.getLine(info);
clip.open(ai);
の流れで再生できるようだ・・・

音声が途中で途切れるといった場合には、
http://d.hatena.ne.jp/hidepon_mory/20080131/をチェックしてみよう。
イベント待ちとかにしないで、単にロード・再生、ストップという順番に記述していると、
再生より先にストップしてしまうこともあるので注意。
最終更新:2011年04月02日 13:25