1

我的应用程序的播放和暂停按钮有问题。我正在尝试这样做,以便当我单击“播放”时播放音乐并显示暂停按钮,当我再次单击该按钮时,音乐暂停并再次显示播放按钮。我觉得我很接近,但就是无法得到它!我可以让音频播放和一次更改图像的按钮,但是我无法暂停它并让图像切换回来。请帮忙!我的代码如下:

button3.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
        // TODO Auto-generated method stub
        if(mysong.isPlaying()){
            mysong.pause();
            button3.setVisibility(ImageButton.VISIBLE);
            pausebutton3.setVisibility(ImageButton.GONE);


        }else {
            mysong.start();
                            button3.setVisibility(ImageButton.GONE)
                            pausebutton3.setVisibility(ImageButton.VISIBLE)

                 }
    }
});

当我现在这样设置时,音乐将播放,播放按钮将与暂停按钮交换(应该如此),但现在我无法暂停音乐和恢复图像。

4

2 回答 2

3

您的不“切换回”的原因是因为“else”语句中没有任何内容告诉它进行任何 UI 更改。

如果它正在播放并且按下按钮,则 button3 变为 VISIBLE 并且 mysong 已消失,并且 isPlaying() 变为 false。但是如果再次按下按钮,因为 isPlaying() 为 false,它直接进入 else,并调用 mysong.start(); - 没有什么可以告诉 mysong 或 button3 的可见性变回来。

或者,如果您只想更改图像(而不是隐藏和显示按钮),请尝试使用 ImageButton 和 setImageResource();

    mPauseButton.setOnClickListener(new View.OnClickListener() { 

        public void onClick(View v) { 
            if (mysong.isPlaying()) {
                mysong.pause();
                button3.setImageResource(R.drawable.btn_play);  //Your playbutton image
            } else {
                mysong.start();
                button3.setImageResource(R.drawable.btn_pause);  //Your pausebutton image
            }
            .
            .
            .

我注意到的另一件事是您正在尝试设置 mySong 和 button3 的可见性(mysong 似乎是您的 mediaPlayer - 它没有“可见性”并且不是 ImageButton)。

于 2012-09-25T06:30:02.277 回答
1

如果我理解,您有一个按钮,可以在播放/暂停之间切换。

button3.setOnClickListener(new View.OnClickListener() { 

public void onClick(View v) { 
        if(mysong.isPlaying()){ 
        mysong.pause(); 
        button3.setVisibility(ImageButton.VISIBLE);
        button3.setText("Pause");
        mysong.setVisibility(ImageButton.GONE); 
    } else { 
        mysong.start();
        button3.setText("Play");
    } 
} 

});

于 2012-09-25T06:17:03.107 回答