尝试使用相同的按钮播放+暂停音乐

时间:2013-05-27 20:45:06

标签: android adt

我最近尝试创建一个“Play”按钮,当按下此按钮时,我希望它播放音乐然后将文本更改为“停止”,但它会抛出错误并退出应用程序。这是我的代码:

        mPlay.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if(ourMusic.isPlaying()){
                ourMusic.pause();
                mDisplay.setText("Play");
            }else{
                ourMusic = MediaPlayer.create(MainActivity.this, R.raw.killthenoise);
                ourMusic.start();
                mDisplay.setText("Stop");
            }
        }
    });

因此,如果您按下按钮一旦它应该播放,再次按下它应该停止音乐。实际编码没有错误。 这是我的logcat:http://pastie.org/7970711

我对这些东西不熟悉,所以我不知道发生了什么。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

请改用:

    @Override
    public void onClick(View v) {
        if (ourMusic == null) {
            ourMusic = MediaPlayer.create(MainActivity.this, R.raw.killthenoise);
        }

        if(ourMusic.isPlaying()){
            ourMusic.pause();
            mDisplay.setText("Play");
        }else{
            ourMusic.start();
            mDisplay.setText("Stop");
        }
    }

基本上不要:

  1. 每次点击播放时重新创建ourMusic
  2. 尝试在未实例化时使用ourMusic

答案 1 :(得分:0)

添加全局变量boolean flag = false;

{{1}}

如果您想在应用中使用与PLAY / PAUSE相同的按钮,此代码将起作用。 希望这会有所帮助。