在Seek栏中显示MediaPlayer缓冲作为辅助进度

时间:2014-10-19 16:04:06

标签: android android-mediaplayer

我使用视频视图从wowza媒体服务器流式传输HLS流。我希望像在YouTube播放器中一样显示整体缓冲,我所做的就是这个,我能够访问搜索栏对象并调试代码而不是null

videoView.setOnPreparedListener(new OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mp) {
                int topContainerId = getResources().getIdentifier("mediacontroller_progress", "id", "android");
                seekbar = (SeekBar) mediaController.findViewById(topContainerId);

                mp.setOnBufferingUpdateListener(new OnBufferingUpdateListener() {
                    @Override
                    public void onBufferingUpdate(MediaPlayer mp, int percent) {
                        if (percent<seekbar.getMax()) {
                            seekbar.setSecondaryProgress(percent);  
                        }
                    }
                });
            }
        }); 

问题是我无法在媒体控制器搜索栏中看到任何次要进展。如果需要任何澄清,请在评论中写下。非常感谢帮助。

1 个答案:

答案 0 :(得分:8)

使用下面的代码,你就可以去了

videoView.setOnPreparedListener(new OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mp) {
                int topContainerId = getResources().getIdentifier("mediacontroller_progress", "id", "android");
                seekbar = (SeekBar) mediaController.findViewById(topContainerId);

                mp.setOnBufferingUpdateListener(new OnBufferingUpdateListener() {
                    @Override
                    public void onBufferingUpdate(MediaPlayer mp, int percent) {
                        if (percent<seekbar.getMax()) {
                            seekbar.setSecondaryProgress(percent);  
                            seekbar.setSecondaryProgress(percent/100);  
                        }
                    }
                });
            }
        });