单击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开始调用
错误(-38,0)

解决方法:

根据http://developer.android.com/reference/android/media/MediaPlayer.html,我想你可以这样做:

 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();
                }
            });

你真的可以写

 if(mp2.isPlaying())

代替

 if(mp2.isPlaying() == true)

这只是为了理解正在发生的事情.

上一篇:php – 如何从Google云端硬盘视频获取redirector.googlevideo.com链接


下一篇:如何在Android中播放视频文件?