Android MediaPlayer错误代码(-38,0)getDuration
我目前正试图设计一个简单的应用程序,流式播放音乐播放器。我有这首歌的URL,正在设置Android MediaPlayer错误代码(-38,0)getDuration,android,Android,我目前正试图设计一个简单的应用程序,流式播放音乐播放器。我有这首歌的URL,正在设置MediaPlayer,如下所示。第一首歌时一切正常,但当我播放另一首歌时,程序在模拟时没有崩溃,但没有播放任何内容,我得到以下错误: E/MediaPlayer:尝试在没有有效MediaPlayer的情况下调用getDuration E/MediaPlayer:错误(-38,0) E/MediaPlayer:错误(-38,0) PlayerService.java 公共类MusicLayerService扩展
MediaPlayer
,如下所示。第一首歌时一切正常,但当我播放另一首歌时,程序在模拟时没有崩溃,但没有播放任何内容,我得到以下错误:
E/MediaPlayer:尝试在没有有效MediaPlayer的情况下调用getDuration
E/MediaPlayer:错误(-38,0)
E/MediaPlayer:错误(-38,0)
PlayerService.java
公共类MusicLayerService扩展服务{
私人宋美松;
@凌驾
公共int onStartCommand(Intent Intent、int标志、int startId){
mSong=ListSong.getListSong().get(ListSong.getSelectedItem());
registerLocalFilter();
playMedia();
返回开始时间;
}
私人媒体{
if(handler==null){
线程=新线程(新可运行(){
@凌驾
公开募捐{
Looper.prepare();
handler=新的handler();
handler.post(playAudioFromURL);
loop.loop();
}
});
thread.start();
}否则{
handler.post(playAudioFromURL);
}
}
private Runnable playAudioFromURL=new Runnable(){
@凌驾
公开募捐{
如果(mediaPlayer!=null){
mediaPlayer.release();
}
mediaPlayer=新的mediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
试一试{
setDataSource(mSong.getSongUrl());
mediaPlayer.setOnPreparedListener(onPreparedListener);
setOnCompletionListener(onCompletionListener);
setOnSeekCompleteListener(onSeekCompleteListener);
mediaPlayer.setOneRorListener(OneRorListener);
mediaPlayer.prepareAsync();
}捕获(IOE异常){
e、 printStackTrace();
w(标记为“playAudioFromURL:+e.toString());
}捕获(IllegalArgumentException ex){
w(标记为“playAudioFromURL:+ex.toString());
}捕获(非法状态例外){
w(标记为“playAudioFromURL:+ex.toString());
}
}
};
private MediaPlayer.OnPreparedListener OnPreparedListener=new MediaPlayer.OnPreparedListener(){
@凌驾
已准备好公开作废(MediaPlayer mp){
ListSong.setPlaying(true);
sendLoadComplete();
updateTimer();
mp.start();
}
};
}
我已经在onPrepared()
中编写了mp.start()
,并使用mediaPlayer.prepareAsync()代码>喜欢上的解决方案,但它不起作用
请帮帮我 在mediaPlayer.setDataSource(mSong.getSongUrl())之前代码>在MediaPlayer中MediaPlayer.reset()代码>可能可以解决您的问题。可以吗?那就应该在评论里了,伙计!