Android 音频在一段时间后停止播放
刚开始播放流式音频…开始播放,缓冲区继续,但突然停止。当歌曲到达缓冲区时,音乐停止。按“下一步”将进入嵌套歌曲,但同样的情况也会发生。有什么想法吗Android 音频在一段时间后停止播放,android,android-mediaplayer,Android,Android Mediaplayer,刚开始播放流式音频…开始播放,缓冲区继续,但突然停止。当歌曲到达缓冲区时,音乐停止。按“下一步”将进入嵌套歌曲,但同样的情况也会发生。有什么想法吗 private void startPlay(String file, String name) { Log.i("Selected: ", file); tv_selelctedFile.setText(name); //progressControlSeekbar.setProgres
private void startPlay(String file, String name)
{
Log.i("Selected: ", file);
tv_selelctedFile.setText(name);
//progressControlSeekbar.setProgress(0);
int maxVolume = mediaPlayer.getDuration();
int curVolume = mediaPlayer.getCurrentPosition();
progressControlSeekbar.setMax(maxVolume);
progressControlSeekbar.setProgress(curVolume);
progressControlSeekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
public void onStopTrackingTouch(SeekBar seekBar)
{
isMoveingSeekBar = false;
}
public void onStartTrackingTouch(SeekBar seekBar)
{
isMoveingSeekBar = true;
}
public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser)
{
if(isMoveingSeekBar)
{
mediaPlayer.seekTo(progress);
Log.i("OnSeekBarChangeListener","onProgressChanged");
}
}
});
mediaPlayer.stop();
mediaPlayer.reset();
try {
mediaPlayer.setDataSource(file);
mediaPlayer.prepare();
mediaPlayer.start();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
progressControlSeekbar.setMax(mediaPlayer.getDuration());
playButton.setImageResource(android.R.drawable.ic_media_pause);
updatePosition();
isStarted = true;
}
你可以试着做的是
使用侦听器,而不是直接调用
mediaPlayer.prepare();//use preapareAsync()
mediaPlayer.start(); // dont call it here.
调用mediaplayer的OnPreparedListener()
,并在onPrepared()
中使用mediaplayer.start()
如果没有帮助,只需实现Media player的所有侦听器,如onComplete
onError()
,并检查在Media player突然停止播放时调用哪个侦听器
希望能有帮助