5

ライブラリ Vitamio を使用して rtsp ライブ ストリームを再生しています。次のように、デモ videoview class play rtsp リンクを実行しようとしました。

http://117.103.224.75:1935/live/definst/VTCHD3/VTCHD3_840x480_1200kbps.stream/playlist.m3u8 _ _

==> 結果 : 実行されますが、品質が非常に悪く、ビデオの読み込みが非常に低く、ビデオの画像が鮮明ではなく、音が聞こえません。スムーズに実行し、画像を鮮明にするために何をすべきかわかりません。この問題を助けてください!ありがとうございました !

これは私のコードです:

private String path="http://117.103.224.75:1935/live/_definst_/VTCHD3/VTCHD3_840x480_1200kbps.stream/playlist.m3u8";

private ProgressDialog prodlg;
private VideoView mVideoView;

@Override
public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    if (!LibsChecker.checkVitamioLibs(this))
        return;
    setContentView(R.layout.videoview);
    prodlg=new ProgressDialog(this);
    prodlg.setIcon(R.drawable.ic_launcher);
    prodlg.setMessage("wating...");
    prodlg.show();

    mVideoView = (VideoView) findViewById(R.id.surface_view);

    if (path == "") {
        // Tell the user to provide a media file URL/path.
        Toast.makeText(VideoViewDemo.this, "Please edit VideoViewDemo Activity, and set path" + " variable to your media file URL/path", Toast.LENGTH_LONG).show();
        return;
    } else {
        /*
         * Alternatively,for streaming media you can use
         * mVideoView.setVideoURI(Uri.parse(URLstring));
         */
        mVideoView.setVideoPath(path);
        mVideoView.setVideoQuality(MediaPlayer.VIDEOQUALITY_HIGH);
        mVideoView.setBufferSize(2048);
        mVideoView.requestFocus();
        mVideoView.start();
        mVideoView.setMediaController(new MediaController(this));

        mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mediaPlayer) {
                // optional need Vitamio 4.0
                prodlg.dismiss();
                mediaPlayer.setPlaybackSpeed(1.0f);
            }
        });
    }

}

私はアンドロイド プラットフォーム 4.0 api 14 プレイ デモを使用します: これは私のスクリーン ピクチャ デモです

4

1 に答える 1

2

動画などを表示するために Vitamio ライブラリを使用する場合は、まず、ここから Vitamio ライブラリをダウンロードします。次に、現在のプロジェクトに "ZI" と "InitActivtiy" (Vitamio lib 内にある) ライブラリの両方を含め (プロジェクトを右クリック -> ライブラリを含める ->)、次のコード行を記述します。

 if (!io.vov.vitamio.LibsChecker.checkVitamioLibs(this))
        return;

私のプロジェクトのように Oncreate Method() の後。

 @Override
protected void onCreate(Bundle savedInstanceState) 
 {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    if (!io.vov.vitamio.LibsChecker.checkVitamioLibs(this)) //it will check the include library of Vitamio
        return;

その後、このコード行を Androidmanifest.xml ファイルに入れます

  <!-- (((((( Vitamio Library including in manifest file )))))) -->
   <activity android:name="io.vov.vitamio.activity.InitActivity" 
       android:configChanges="orientation|screenSize|smallestScreenSize|keyboard|keyboardHidden"
       android:launchMode="singleTop"
        android:theme="@android:style/Theme.NoTitleBar"
        android:windowSoftInputMode="stateAlwaysHidden"/>     

ここで、VideoView などを使用してビデオを表示します。

于 2014-06-06T11:48:34.767 に答える