Iアプリによる音楽の再生

AICA研究室 三川 勇也
2009年 10月 21日
今回はIアプリの音楽再生について
実際にサンプルを使って紹介したいと思います。
public class Music implements MediaListener{

	private AudioPresenter[] mu;    //音声メディアデータの再生オブジェクトを定義
	private MediaSound sound;       //メディアサウンドを定義
	private String[] Name = {"1.MLD","2.MLD","3.MLD","4.MLD","5.MLD"}; //再生する音楽の名前
	private int num;                //現在再生している音楽の番号

	public Music(){
		try {
			mu = new AudioPresenter[3];
			for (int i = 0; i < mu.length; i++) {
				mu[i] = AudioPresenter.getAudioPresenter();         //オーディオ再生オブジェクトを取得します
				mu[i].setMediaListener(this);                       //リスナを登録します
				sound = MediaManager.getSound("resource:///" + Name[i]);  //Name[i]のメディアサウンドをsoundにセットしま
				sound.use();                            //soundを利用
				mu[i].setSound(sound);                  //mu[i]にsoundをセットする
			}
		} catch (Exception e) {}
	}

	
	public void MusicNumSet(int S_num){
		//再生する音楽の番号を取得
		num = S_num;
		playAudio();
	}

	public void playAudio() {
	 	 try {
			//num番の音楽を再生する
	 	 	mu[num].play();
	 	 } catch (Exception e) {}
	}

	public void stopAudio(){
		try {
			//num番の音楽を停止する
			mu[num].stop();
		} catch (Exception e) {}
	}

	public void mediaAction(MediaPresenter source, int type, int param) {
		if(num == 0){
	 		 if (source == mu[0]){
	 		 	if (type == AudioPresenter.AUDIO_COMPLETE){
					//BGMの再生が終了したら、もう一度再生する
	 				playAudio();
				}
	 		 }
		}
	}
}
結果
numに0を指定したときにはmu[0]がループで繰り返し再生される。
それ以外は1回再生したら終了する。
著者プロフィール

三川 勇也

所属学科 : SE専攻科 2年

研究室では一応Webプログラマーをしています。