Android 获取媒体播放器时出错(-38,0)
我收到错误“MediaPlayer(12807):错误(-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 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变量。所以我认为不需要设置数据源。