如何结合游戏和娱乐暂停按钮进入一个按钮

时间:2015-02-28 19:00:29

标签: android

这里我有2个音频控制器按钮,播放和暂停。如何将两个按钮组合成一个?我还需要更改图像图标。

在onCreate中,我最初禁用了暂停按钮。

pauseButton.setEnabled(false);

以下是“播放”按钮的实现。

public void play(View view){
mediaPlayer.start();
...
pauseButton.setEnabled(true);
playButton.setEnabled(false);
}

以下是暂停按钮的实现。

public void pause(View view){
mediaPlayer.pause();
pauseButton.setEnabled(false);
playButton.setEnabled(true);
}

4 个答案:

答案 0 :(得分:1)

制作一个按钮并带一个标记

Boolean buttonflag=true;//initially true

假设true表示播放,false表示暂停。

public void button(View view)
{
  if(buttonflag)//when true play
  {
   mediaPlayer.play();
   buttonflag=false;//set to false so that on next click else will work
  }
  else//when false pause
  {
   mediaPlayer.pause();
   buttonflag=true;//set to true so that on next click if will work
  }
}

答案 1 :(得分:0)

MediaPlayer m1 = null;

    playAndStopButton.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
    stopPlaying();
    m1=MediaPlayer.create(MainActivity.this, R.raw.sound1);
    m1.start();
    }
});   

private void stopPlaying() {
     if (mp1 != null) {
        m1.stop();
        m1.release();
        m1 = null;
}

这对你有用!祝你好运。

答案 2 :(得分:0)

你可以通过两种方式做到这一点:
1.采用框架布局并将两个按钮相互重叠(默认情况下设置为可见按钮并隐藏暂停按钮)并根据它设置可见性

public void play(View view) {
    if(pauseButton.isVisible()) {
        pauseButton.setVisibility(View.GONE);
    }
    playButton.setVisibility(View.VISIBLE);
}

public void pause(View view) {
    if(playButton.isVisible()) {
        playButton.setVisibility(View.GONE);
    }
    pauseButton.setVisibility(View.VISIBLE);
}


2.您只能使用一个按钮并将其更改为backgroundResource(默认情况下设置后台资源播放),如

public void play(View view) {
    Button.setBackgroundResourec(R.drawable.pause);
}

public void pause(View view) {
    Button.setBackgroundResourec(R.drawable.play);
}

答案 3 :(得分:0)

我知道现在回答这个问题已经很晚了,但是我已经搜索了这个问题,谷歌在结果的顶部给我看了这个,但是因为我看到这里没有令人满意的结果,所以我在这里发帖我的代码,以便它可以帮助其他

fabBtnPlayAudio.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (!playPause) {
                fabBtnPlayAudio.setImageResource(R.drawable.ic_pause_circle_outline_black_24dp);
                if (intialStage){
                    mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
                    try {
                        mediaPlayer.setDataSource("URL for audio file.. ");
                        mediaPlayer.prepareAsync();
                        mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                            @Override
                            public void onPrepared(MediaPlayer mp) {
                                mediaPlayer.start();
                            }
                        });
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                else {
                    if (!mediaPlayer.isPlaying())
                        mediaPlayer.start();
                }
                playPause = true;
            } else {
                fabBtnPlayAudio.setImageResource(R.drawable.ic_play_circle_outline_black_24dp);

                if (mediaPlayer.isPlaying()){
                    mediaPlayer.pause();
                } else {
                    mediaPlayer.start();
                }
                playPause = false;
            }

        }
    });