Android seekbar中显示的音乐缓冲级别
你好。如您所见,我想在android music player中向用户显示流媒体的缓冲级别。Android seekbar中显示的音乐缓冲级别,android,progress-bar,media-player,android-seekbar,Android,Progress Bar,Media Player,Android Seekbar,你好。如您所见,我想在android music player中向用户显示流媒体的缓冲级别。我设想的解决方案是: 我是否应该创建一个seekbar和一个带有透明背景的progressbar,并重叠progressbar来搜索,而progreesbar则显示缓冲音乐级别 但是我不确定这个策略。是否有人可以帮助我找到实现此问题目标的最佳方法。首先应将OnBufferingUpdateListener设置为activity,然后设置onBufferingUpdate,如下所示: public void
我设想的解决方案是:
我是否应该创建一个seekbar和一个带有透明背景的progressbar,并重叠progressbar来搜索,而progreesbar则显示缓冲音乐级别
但是我不确定这个策略。是否有人可以帮助我找到实现此问题目标的最佳方法。首先应将
OnBufferingUpdateListener
设置为activity,然后设置onBufferingUpdate,如下所示:
public void onBufferingUpdate(MediaPlayer arg0, int percent) {
/** Method which updates the SeekBar secondary progress by current song loading from URL position*/
seekBarProgress.setSecondaryProgress(percent);
}
仅仅因为直接设置百分比是行不通的。这是为我工作的代码
mediaPlayer.setOnBufferingUpdateListener(new MediaPlayer.OnBufferingUpdateListener() {
@Override
public void onBufferingUpdate(MediaPlayer mediaPlayer, int percent) {
double per = percent * 1.00;
per = (per / 100);
double f = (seekBar.getMax() * 1.00);
f = f * per;
if (percent < binder.seekBar.getMax()) {
seekBar.setSecondaryProgress((int) f);
}
}
});
mediaPlayer.setOnBufferingUpdateListener(新的mediaPlayer.OnBufferingUpdateListener(){
@凌驾
public void onBufferingUpdate(MediaPlayer,整数百分比){
每增加一倍=百分比*1.00;
per=(per/100);
双f=(参见kbar.getMax()*1.00);
f=f*per;
如果(百分比
这些int到double的转换是必要的,因为如果结果是0.12或0.xx,int除以100将得到0。应该是seekBar.setSecondaryProgress(seekBar.getMax()*percentage/100)使其工作。确保您已经首先将百分比转换为十进制,这样当您将其除以100时,您将得到一个十进制值,而不是0。