我正在尝试制作一个音乐播放器的简单应用程序,该应用程序具有用于播放和暂停的简单ImageButton
。
我尝试过这样做,但在模拟器运行时,出现了一个错误"不幸的是无法打开应用程序"
我只尝试了播放按钮的代码,它起了作用,但当添加暂停按钮的代码时,会出现运行时错误。有人能告诉我哪里出了问题吗?
谢谢。
public class Audio1Activity extends Activity {
private static final String TAG = "AudioDemo";
private static final String isPlaying = "Media is Playing";
private static final String notPlaying = "Media has stopped Playing";
private MediaPlayer player;
ImageButton playbtn,pausebtn;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
player= MediaPlayer.create(this , R.raw.a1);
playbtn=(ImageButton) this.findViewById(R.id.image_button1);
player.setLooping(false);
playbtn.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
demoPlay();
}
});
pausebtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
demoPause();
}
});
@Override
public void onPause() {
super.onPause();
player.pause();
}
private void demoPause(){
player.pause();
Toast.makeText(this, notPlaying, Toast.LENGTH_LONG).show();
Log.d(TAG, notPlaying);
}
private void demoPlay(){
player.start();
Toast.makeText(this, isPlaying, Toast.LENGTH_LONG).show();
Log.d(TAG, isPlaying);
}
}
错误是您没有将pausebtn
设置为ImageButton
小部件。
应该这样做:
pausebtn = (ImageButton)findViewById(R.id.name_of_image_button_in_your_layout_xml);
if (pausebtn != null){
pausebtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
demoPause();
}
});
}
player.prepare();
试着把这句话放在player.start()之前;