我开发了一个流媒体播放器,它运行良好,直到我不在媒体播放器中使用 seekto()
方法,但如果我寻求,播放器停止一段时间,然后转到起点并从开始播放,如果我不使用seekto()方法然后歌曲将完全缓冲并且搜索条完美地工作 . 请帮忙 .
我的代码看起来像这样寻求:
int songDuration = trackDuration;
int currentPosition = (int)((((double)seekBar.getProgress())/100)*songDuration);
mediaPlayer.pause();
mediaPlayer.seekTo(currentPosition);
mediaPlayer.start();
2 回答
我使用Just This Code在我的身边解决了这个问题
handler.postDelayed(this,100); // 0.1秒后循环线程
//秒
}
}};
并更新搜索栏位置使用此
public void onStopTrackingTouch(SeekBar seekBar){
if(mediaPlayer!= null && mediaPlayer.isPlaying())
{
mediaPlayer.seekTo(进展);
}
否则if(mediaPlayer!= null &&!isPlaying)
{
mediaPlayer.seekTo(进展);
}
}
public void onStartTrackingTouch(SeekBar seekBar){
}
public void onProgressChanged(SeekBar seekBar,int progress,
boolean fromUser){}
});
请参阅此帖Creating Audio Player With Full Controls
同步Seekbar音频的好教程也可用HERE
如果你有任何问题,请告诉我:)
完整的类看起来像这样
}
我使用
seekbar.OnSeekBarChangeListener
来监听seekbar的任何变化 . 它适用于我的音频文件 . 我不确定视频文件 . 但无论如何试试这个 . 我的代码是:并在_909016中使用它: