[サウンド]
Javaアプレットで音を鳴らすにはAudioClipクラスをインポートする必要がある。
そのAudioClipクラスには以下のようなメソッドがある。
play()
音を再生する。
loop()
音を繰り返し再生する。
stop()
再生中の音を停止させる。
[Javaで使える音声ファイルの形式]
基本的にはauという形式の音声ファイルを使うが、
Java2からはwave形式やmidi形式も使えるようになったらしい。
[サンプルプログラム]
import java.applet.Applet;
import java.applet.AudioClip;
import java.awt.Button;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class Sample05 extends Applet{
Button xb1, xb2, xb3; // ボタン
AudioClip xsound; // 音声ファイル
public void init(){
xsound = getAudioClip(getCodeBase(), "sound.au");
xb1 = new Button("再生");
add(xb1);
xb1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
xsound.play();
}
});
xb2 = new Button("ループ");
add(xb2);
xb2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
xsound.loop();
}
});
xb3 = new Button("停止");
add(xb3);
xb3.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
xsound.stop();
}
});
}
// 他のページに移動する時、音楽を強制的に停止させる
public void stop(){
xsound.stop();
}
}
このプログラムの最初でAudiClipとButtonを3つ用意している。
そしてgetAudioClipでgetCodeBase()で取得したURLにあるsound.auファイルを
xsoundに返している。次にボタンを作成しaddでそのボタンをアプレットに登録する。
addActionListenerはそのボタンが押されるのを監視し、押されたら
actionPerformedにActionEventを渡し、それぞれplay(),loop(),stop()メソッドを
実行している。
[実行結果]
再生すると猫の泣き声っぽい音がする。
(注)サンプルプログラムで使用したsound.auファイルは
「パケットリラックス」のフリーの音の素材を加工したものです。
無料かつ自由に使わせていただけることに感謝します。
「パケットリラックス」
http://www2.odn.ne.jp/~relax/
戻る