修改Cocos2dxMusic.java文件中的playBackgroundMusic函数
public void playBackgroundMusic(final String pPath,final boolean isLoop) { if (this.mCurrentPath == null) { // it is the first time to play background music or end() was called this.mBackgroundMediaPlayer = this.createMediaplayer(pPath); this.mCurrentPath = pPath; } else { if (!this.mCurrentPath.equals(pPath)) { // play new background music // release old resource and create a new one if (this.mBackgroundMediaPlayer != null) { this.mBackgroundMediaPlayer.release(); } this.mBackgroundMediaPlayer = this.createMediaplayer(pPath); // record the path this.mCurrentPath = pPath; } } if (this.mBackgroundMediaPlayer == null) { Log.e(Cocos2dxMusic.TAG,"playBackgroundMusic: background media player is null"); } else { // if the music is playing or paused,stop it boolean isStop = false; if(mBackgroundMediaPlayer.isPlaying()){ isStop = true; this.mBackgroundMediaPlayer.stop(); } this.mBackgroundMediaPlayer.setLooping(isLoop); try { Log.e(Cocos2dxMusic.TAG,"playBackgroundMusic"); if(isStop) this.mBackgroundMediaPlayer.prepare(); this.mBackgroundMediaPlayer.seekTo(0); this.mBackgroundMediaPlayer.start(); this.mPaused = false; } catch (final Exception e) { Log.e(Cocos2dxMusic.TAG,"playBackgroundMusic: error state"); } } }原文链接:https://www.f2er.com/cocos2dx/346772.html