问答详情
源自:4-5 播放音乐

playMusic( String path )方法的path参数在equals()中使用的时候报了空指针异常

public void playMusic( String path ){

    mPath = path;

    isPlaying = true;       //正在播放
    mIvPlay.setVisibility(GONE);        //设置播放按钮不可见
    mFlPlayMusic.startAnimation(mPlayMusicAnim);        //设置光盘执行旋转动画
    mIvNeedle.startAnimation(mPlayNeedleAnim);          //设置指针执行指向光盘的动画

    /**
     * 1.判断当前音乐是否正在播放
     * 2.如果当前音乐正在播放,那么就直接执行start方法
     * 3.如果当前播放的音乐没有正在播放,那么就执行setPath方法
     */
    if (mMediaPlayerHelper != null &&
            mMediaPlayerHelper.getPath().equals( path )){
        mMediaPlayerHelper.start();
    }else {
        mMediaPlayerHelper.setPath( path );
        mMediaPlayerHelper.setOnMediaPlayerHelperListener(new MediaPlayerHelp.OnMediaPlayerHelperListener() {
            @Override
            public void onPrepared( MediaPlayer mp ) {
                mMediaPlayerHelper.start();
            }
        });
    }
}


提问者:扶二平叔 2020-03-06 17:34

个回答

  • 大迷糊and小迷糊
    2020-08-03 23:46:36

    老哥是你代码写错了啊,应该是

    if (mediaPlayHelp.getPath() != null
            && mediaPlayHelp.getPath().equals(path)) {
        mediaPlayHelp.start();
    }

    而不是

    if (mMediaPlayerHelper != null &&
                mMediaPlayerHelper.getPath().equals( path )){
            mMediaPlayerHelper.start();
        }e


  • qq_慕函数6541663
    2020-05-15 10:11:22

    怎么解决的,老哥

  • 扶二平叔
    2020-03-12 16:15:34

    已解决