直接上代码吧。还是不是我想要的结果,我想学习如何用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();
}
}