在搜索栏中显示缓冲的音乐级别

时间:2014-02-17 12:08:13

标签: android progress-bar media-player android-seekbar

enter image description here

你好。正如你所看到的,我想展示在Android音乐播放器中流向用户的缓冲级别的媒体。
我想象的解决这个问题的方法是:
我应该创建一个搜索栏和一个具有透明背景和重叠进度条的进度条来寻找条形图,而progbarbar则显示缓冲的音乐级别。

但我不确定这个策略。有人帮助我在这个问题上达到目标的最佳途径。

2 个答案:

答案 0 :(得分:2)

首先应该将OnBufferingUpdateListener实现为activity,然后在Buffering Update上设置如下:

public void onBufferingUpdate(MediaPlayer arg0, int percent) {
    /** Method which updates the SeekBar secondary progress by current song loading from URL position*/
    seekBarProgress.setSecondaryProgress(percent);
}

答案 1 :(得分:0)

仅因为直接设置百分比不起作用。这是对我有用的代码。

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);
            }
        }
    });

这些int到double的转换是必要的,因为如果结果为0.12或0.xx,则int除以100会得到0。