MediaPlayer 用於方法長時間的音樂

直接上代碼吧。還是不是我想要的結果,我想學習如何用service 來播放音樂。

package zhbit.test;

import java.io.IOException;

import android.app.Activity;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.SoundPool;
import android.os.Bundle;
import android.provider.MediaStore.Audio.Media;
import android.view.View;
import android.view.View.OnClickListener;

public class PlaySoundActivity extends Activity {
/* Called when the activity is first created. /
private SoundPool sp;
private MediaPlayer mp = null;
private int soundid;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 遊戲的音效
sp = new SoundPool(1,AudioManager.STREAM_MUSIC, 0);

    soundid = sp.load(this, R.raw.music1, 1);
    findViewById(R.id.playsound).setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
        //id,左聲道,右聲道,優先級,是否循環,1是正常播放,0.5-2,0.5是原來的基礎上變慢一點。
        sp.play(soundid, 1, 1, 0, 0,1 );

// 湯姆貓講話講的很快,就是拉快了
}
});
findViewById(R.id.btuplaysound).setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            if(mp != null){
                mp.start();
            }
        }
    });
}
@Override
protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
}
@Override
protected void onRestart() {
    // TODO Auto-generated method stub
    super.onRestart();
}
@Override
protected void onResume() {
    // TODO Auto-generated method stub
    mp = MediaPlayer.create(this, R.raw.music1);
    try {
        mp.prepare();
    } catch (IllegalStateException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    super.onResume();
}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章