2012-04-13 55 views
4

我正試圖編寫一個非常簡單的應用程序,它只是試圖播放由RTSP服務器進行流式處理的視頻。 我曾經在某處讀過VideoView組件能夠處理RTSP流。 所以我寫了下面的代碼。Android應用程序中的VideoView中的RTSP流

vv = (VideoView) findViewById(R.id.videoView1); 
    mc = new MediaController(getApplicationContext()); 
    vv.setVideoURI(Uri.parse(url)); 
    vv.setMediaController(mc); 
    vv.requestFocus(); 

    vv.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 

     public void onPrepared(MediaPlayer mp) { 
      vv.start(); 

     } 
    }); 

的URL字符串是以下格式的 RTSP://192.168.1.136:8554/mercykilling.mkv

我的問題是,我不斷收到如下錯誤

V/MediaPlayer(16501):收到消息msg = 100,ext 1 = 1,ext2 = -18

任何人都可以提供有關此主題的任何指示?

回答

0

MKV只是從4.0以上版本 Take a look

還有一件事支持始終保持在你的心中是支持RTSP流媒體,你必須開始RTSP服務器。否則,您無法啓動該文件。

2

以前FAQ

以前background

一般性意見 - RTSP/RTP支持包裝內包媒體軌道和林不知道包含一個非常大的一套基本的編碼和規範的,標準的Android libStageFright libs實際上支持它的所有排列。

我看了下API /媒體/視頻SDK中的ICS樣本...

ApiDemos的\ src \ COM \例子\機器人\的API \媒體\ MediaPlayerDemo_Video.java

看看在您的SDK,並在上面的示例中的評論...

 case STREAM_VIDEO: 
      /* 
      * TODO: Set path variable to progressive streamable mp4 or 
      * 3gpp format URL. Http protocol should be used. 
      * Mediaplayer can only play "progressive streamable 
      * contents" which basically means: 1. the movie atom has to 
      * precede all the media data atoms. 2. The clip has to be 
      * reasonably interleaved. 
      * 
      */ 

這些評論做支持這一想法,Android 4.0的媒體播放器將發揮RTSP流。

如果你想測試一個通用的RTSP流,我建議你從Youtube抓取一個feed並嘗試播放format = 1流的URL,這將是RTSP協議。 例here

0

您可以使用圖書館@http://net7mma.codeplex.com/(其中我的作者)

它可以提供一種簡單的方法,讓RtspRtp媒體播放Android中。