Android按钮点击播放音乐,再次点击停止音乐 [英] Android button click to play music, click again to stop music

查看:2237
本文介绍了Android按钮点击播放音乐,再次点击停止音乐的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个按钮,当我点击它播放音乐,如何做,当我第二次点击,停止音乐?

  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> http://developer.android.com/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 http://developer.android.com/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按钮点击播放音乐,再次点击停止音乐的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆