Android 获取媒体播放器时出错(-38,0)

Android 获取媒体播放器时出错(-38,0),android,media-player,audio,Android,Media Player,Audio,我收到错误“MediaPlayer(12807):错误(-38,0)” 当我第一次播放声音时,它播放得很好。但是当我停止声音并再次播放时,它会给出上述错误。 我的代码是 MediaPlayer mSoundMENU; CONSTRUCTOR(){ mSoundMENU = MediaPlayer.create(GameManager.getInstance().getCurrentActivity(), R.raw.mainmenu); } STARTSOUND(){

我收到错误“MediaPlayer(12807):错误(-38,0)” 当我第一次播放声音时,它播放得很好。但是当我停止声音并再次播放时,它会给出上述错误。 我的代码是

MediaPlayer mSoundMENU;

CONSTRUCTOR(){

     mSoundMENU = MediaPlayer.create(GameManager.getInstance().getCurrentActivity(), R.raw.mainmenu);
}
    STARTSOUND(){

    try {
                    mSoundMENU.setOnErrorListener(new OnErrorListener() {

                        @Override
                        public boolean onError(MediaPlayer mp, int what, int extra) {
                            Log.e("SOUND_MENUBG", "error = "+ what+" extra = "+extra);
                            return false;
                        }
                    });
                    mSoundMENU.prepare();
                } catch (IllegalStateException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                mSoundMENU.setLooping(true);
                mSoundMENU.setVolume(1.0f, 1.0f);
                mSoundMENU.start();
    }

    STOPSOUND(){
    if(mSoundMENU != null){
        mSoundMENU.setVolume(0.0f,0.0f);
        mSoundMENU.stop();
        }
    }

当您再次播放时,为什么再次调用MediaPlayer.prepare()?MediaPlayer(12807):错误(-38,0)是媒体播放器状态异常。您的播放顺序有问题。您正在将数据源设置为media player.mSoundMENU=MediaPlayer.create(GameManager.getInstance().getCurrentActivity(),R.raw.mainmenu);在构造函数中只调用一次。我们需要重新设置吗?因为我没有意识到我的MediaPlayer变量。所以我认为不需要设置数据源。