我想用一个相同的按钮来播放和暂停。首先点击我想播放它&第二次点击我想暂停它

时间:2016-12-20 10:14:12

标签: javascript android

当我再次点击它时,我想要播放它。这是我的代码,但它没有工作,因为当我再次点击按钮再次开始重复相同的音频,而不是暂停是。请帮帮我

Button button_attention = (Button)findViewById(R.id.button_one);
        button_attention.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                 player=MediaPlayer.create(MainActivity.this, R.raw.alarm_effect);
                {
                    if (player.isPlaying()){
                        player.stop();}
                    else {
                        player.start();
                    }
                }

1 个答案:

答案 0 :(得分:2)

每次调用时,您都会在点击处理程序内重新定义媒体播放器,因此它不起作用。您需要将定义移动到点击处理程序之外,然后从内部引用它。

//Move it to here
player=MediaPlayer.create(MainActivity.this, R.raw.alarm_effect);

Button button_attention = (Button)findViewById(R.id.button_one);
    button_attention.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
                if (player.isPlaying()){
                    //This maybe should be pause.
                    player.stop();
                }
                else {
                    player.start();
                }

修改 关于如何将其用于多个曲目的评论,您应该执行以下操作。

实施一种方法,例如:

private void changeTrack(int resourceId){
    player = MediaPlayer.create(MainActivity.this, resourceId);
}

如果您希望使用以下方法更改曲目,只需调用此方法:

changeTrack(R.raw.MEDIA_NAME);