1

ストリーミングしようとしています (プログレッシブ 例: http://server.com/video.mp4 )

標準の Google MediaPlayer (Android パッケージの VideoView) を使用して onBufferingUpdateListener を登録すると、ホール ビデオのダウンロード状態を参照する bufferpercentage が取得されます。このプレーヤーには、バッファの状態を確認できるローディング ビューもあります。この bufferpercentage とビューは、ダウンロードされたビデオの量を示しています。

Vitamio プレーヤーを使用すると、数秒後に 99% のバッファリングが onBufferingUpdateListener に表示され、読み込みビューも表示されません。また、再生を一時停止すると、Google videoview のようにバッファリングを続行するのではなく、すぐにバッファリングを停止します。これは、http ストリームが遅い場合に非常に便利です。

google videoplayer と同じ方法で、vitamio-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 に答える