2

次のコードを使用して、URL からビデオを再生します。最初にビデオをダウンロードしてからそのビデオを再生することを除いて、正常に動作します

  Uri uri = Uri.parse(URL);
  video.setVideoURI(uri);
  video.start();

しかし、ライブビデオをダウンロードしてから再生するのではなく、ストリーミングしたい

4

4 に答える 4

3

ストリーミングが機能するには、いくつかの要件があります。

ファイルが「正しく」エンコードされていない可能性があります

http://developer.android.com/guide/appendix/media-formats.html

HTTP または RTSP 経由でストリーミングされるビデオ コンテンツの場合、追加の要件があります。

  • 3GPP および MPEG-4 コンテナーの場合、moovアトムはどのmdatアトムよりも前にある必要がありますが、ftypアトムの後にある必要があります。
  • 3GPP、MPEG-4、および WebM コンテナーの場合、同じタイム オフセットに対応するオーディオ サンプルとビデオ サンプルの間隔は 500 KB を超えてはなりません。このオーディオ/ビデオのドリフトを最小限に抑えるには、オーディオとビデオを小さなチャンク サイズでインターリーブすることを検討してください。

サポートしていない古いバージョンの Android を使用している可能性があります

HTTP プログレッシブ ストリーミングは 2.2 でのみ追加され、HTTPS は 3.0+ でのみサポートされ、ライブ ストリーミングはそれ以降のバージョンでのみサポートされます。

于 2013-07-01T15:03:40.663 に答える
0

バッファリングを表示するにprogressbarProgressDialog、...ここにバッファリング用に投稿する必要がありprogressDialogます...

pDialog = new ProgressDialog(this);

    // Set progressbar message
    pDialog.setMessage("Buffering...");
    pDialog.setIndeterminate(false);
    pDialog.setCancelable(false);
    // Show progressbar
    pDialog.show();

    try {
        // Start the MediaController
        MediaController mediacontroller = new MediaController(this);
        mediacontroller.setAnchorView(mVideoView);      

        Uri videoUri = Uri.parse(videoUrl);
        mVideoView.setMediaController(mediacontroller);
        mVideoView.setVideoURI(videoUri);

    } catch (Exception e) {

        e.printStackTrace();
    }

    mVideoView.requestFocus();
    mVideoView.setOnPreparedListener(new OnPreparedListener() {
        // Close the progress bar and play the video
        public void onPrepared(MediaPlayer mp) {
            pDialog.dismiss();
            mVideoView.start();
        }
    });
    mVideoView.setOnCompletionListener(new OnCompletionListener() {

        public void onCompletion(MediaPlayer mp) {
            if (pDialog.isShowing()) {
                pDialog.dismiss();
            }
            finish();               
        }
    });
于 2014-08-27T11:25:51.803 に答える