1

我尝试流式传输(渐进式,例如:http ://server.com/video.mp4 )

当我使用标准的 google 媒体播放器(来自 android 包的 VideoView)并注册一个 onBufferingUpdateListener 时,我得到的 bufferpercentage 指的是孔视频的下载状态。这个播放器还有一个加载视图,我可以在其中看到缓冲区状态。此缓冲区百分比和视图显示已下载了多少视频。

现在,当我使用 Vitamio 播放器时,onBufferingUpdateListener 会在几秒钟后向我显示 99% 的缓冲,并且也没有加载视图。当我暂停播放时,它会立即停止缓冲,而不是像谷歌视频视图那样继续缓冲。如果您有一个缓慢的 http 流,这将非常有用。

有没有办法让 vitamio-videoplayer 以与 google videoplayer 相同的方式缓冲视频文件?

谢谢丹尼尔

4

1 回答 1

1

抱歉,我将该问题发布为错误的用户。这是我尝试过的答案:

来自 android.widget 和 io.vov.vitamio.widget(vitamio - 播放大多数视频格式)包内部的 VideoView(android 默认 - 只播放几种视频格式)具有相同的结构。在两者中,您都可以注册一个 OnBufferingUdateListener,它以百分比返回缓冲区状态:

videoview.setOnBufferingUpdateListener(new io.vov.vitamio.MediaPlayer.OnBufferingUpdateListener() {

        public void onBufferingUpdate(io.vov.vitamio.MediaPlayer mp, int i) {
            Log.v(TAG, "Buffer percentage done: "+i);
        }
    });

或使用 android 默认的 VideoView:

videoview.setOnBufferingUpdateListener(new android.media.MediaPlayer.OnBufferingUpdateListener() {

        public void onBufferingUpdate(android.media.MediaPlayer mp, int i) {
            Log.v(TAG, "Buffer percentage done: "+i);
        }
    });

如果我使用 android.widget.VideoView 缓冲区百分比会缓慢增加,直到达到 100% - 视频文件已完全下载。当我按下暂停按钮时,它会继续更新 BufferingUpdate。

当我使用 io.vov.vitamio.widget.VideoView 时,百分比会在几秒钟内达到 100%。然后视频开始,OnBufferingUpdateListener 再也不会被调用(当我调用 getBufferPercentage 时,它​​总是在 99%。这似乎是原因)。正如我所说:当我按下暂停按钮时,它似乎停止了缓冲。

我认为缓冲在 vitamio 中的作用不同。但那是废话。特别是当我从网络流式传输视频并且视频数据速率高于下载速度时,我需要通过按暂停来预缓冲视频并等待它下载足够的数据以顺利观看。希望你明白我的意思。谢谢你

于 2013-05-16T12:42:55.450 回答