我有一个按钮,当我点击它播放音乐,如何做,当我第二次点击,停止音乐?
Button two =(Button)this.findViewById(R.id.button2); final MediaPlayer mp2 = MediaPlayer.create(this,R.raw.two); two.setOnClickListener(new OnClickListener(){ public void onClick(View v){ mp2.start(); } } ;好,这个工作原理:
Button one =(Button)this.findViewById(R.id.button1); final MediaPlayer mp1 = MediaPlayer.create(this,R.raw.n); one.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v){ if(mp1.isPlaying()){ mp2.pause(); } else { mp2.start(); } ; }});Pause以上的那个工作,但如果我想停止音乐,它不工作。 以下不工作:
@Override public void onClick(View v){ if(mp1.isPlaying()){ mp2.stop(); } else { mp2.start(); } ; }});我得到错误:开始调用状态0 错误0) {b> android / media / MediaPlayer.htmlrel =nofollow> developer.android/reference/android/media/MediaPlayer.html ,我想你可以这样做:
按钮two =(Button)this.findViewById(R.id.button2); final MediaPlayer mp2 = MediaPlayer.create(this,R.raw.two); two.setOnClickListener(new OnClickListener(){ public void onClick(View v){ //如果音乐正在播放 if mp2.isPlaying()== true) //暂停音乐播放器 mp2.pause(); //如果没有播放 else //恢复音乐播放器 mp2.start(); } });您实际上可以写
if(mp2.isPlaying())>
if(mp2.isPlaying()== true)这只是为了了解发生了什么。
I have a button, when I click it plays music, how to do it, when I click second time, to stop the music?
Button two = (Button)this.findViewById(R.id.button2); final MediaPlayer mp2 = MediaPlayer.create(this, R.raw.two); two.setOnClickListener(new OnClickListener(){ public void onClick(View v) { mp2.start(); } });Ok, this one works:
Button one = (Button)this.findViewById(R.id.button1); final MediaPlayer mp1 = MediaPlayer.create(this, R.raw.n); one.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { if (mp1.isPlaying()) { mp2.pause(); } else { mp2.start(); } ; }});The one with Pause above it works, but If I want to stop the music, it does not work. Following not working:
@Override public void onClick(View v) { if (mp1.isPlaying()) { mp2.stop(); } else { mp2.start(); } ; }});I get error: start called in state 0 error (-38, 0)
解决方案According to developer.android/reference/android/media/MediaPlayer.html, I suppose you could do something like this:
Button two = (Button)this.findViewById(R.id.button2); final MediaPlayer mp2 = MediaPlayer.create(this, R.raw.two); two.setOnClickListener(new OnClickListener(){ public void onClick(View v) { // If the music is playing if(mp2.isPlaying() == true) // Pause the music player mp2.pause(); // If it's not playing else // Resume the music player mp2.start(); } });You can actually write just
if(mp2.isPlaying())instead of
if(mp2.isPlaying() == true)It's just for the sake of understanding what is going on.
更多推荐
Android按钮点击播放音乐,再次点击停止音乐
发布评论