2012-11-08 77 views
2

我在一個項目中必須從鏈接播放電視頻道的視頻流。但問題是我必須在本地應用程序中播放視頻,而不是在Web視圖中播放。據我所知,只是實現了一個名爲VITAMIO的API,它有助於播放http,mms等協議,但無法播放RTMP視頻。我也研究並發現基本的android videoview也不能播放RTMP,所以我只想知道是否有任何API可用,或者有沒有什麼方法可以在原生Android應用中播放視頻,這將支持RTSP,RTMP,MMS, HTTP等?如何在原生android應用程序中播放rtmp視頻流?

回答

1

你可以使用vitamio,這是插件原生應用播放流rmpt,http,...非常好。它爲我工作的很好。我想你通過VLC檢查鏈接頻道。

+0

我用vitamio但它不支持RTMP,可以你請提供一個鏈接? – Reyjohn

+0

是從現在維塔米奧作品 – Reyjohn

1

RTMP僅閃爍。 VITAMIO玩家可能會在某些設備上工作,而其他人則根本無法工作。我不確定您是否使用插件版本或其播放器的行貨版本。我與它的互動是小我不是很深刻的印象(當時......我會回去今年稍後重試)

你可以做什麼:

  1. 創建/使用您自己的Flash播放器
  2. 創建一個有webview的活動
  3. 在android上添加flash插件的檢測。
  4. 具有的WebView加載您的Flash SWF文件

下面是一些代碼來檢測閃光燈並加載一個url,如果它有它:

String url = "http://www.example.com/movie.swf"; 

    try { 
     PackageManager pm = getPackageManager(); 
     ApplicationInfo flash_ai = pm.getApplicationInfo("com.adobe.flashplayer", 0); 
     int flash_version = pm.getPackageInfo("com.adobe.flashplayer", 0).versionCode; 
     if (flash_ai != null && flash_version != 0 && flash_version >= 103000000) { 
      flashInstalled = true; 
     } 
    } catch (NameNotFoundException ex) { 
     flashInstalled = false; 
    } 
    if (!flashInstalled) { 
     displayNeedFlashDialog(); 

    } else { 
     WebView wvBrowser = new WebView(this); 
     wvBrowser.requestFocus(); 
     wvBrowser.setClickable(true); 
     wvBrowser.clearCache(true); 
     wvBrowser.setVerticalScrollBarEnabled(false); 
     wvBrowser.setHorizontalScrollBarEnabled(false); 
     wvBrowser.getSettings().setPluginsEnabled(true); 
     wvBrowser.getSettings().setJavaScriptEnabled(true); 
     wvBrowser.setWebChromeClient(new WebChromeClient() { 
      @Override 
      public boolean onJsAlert(WebView view, String url, String message, final android.webkit.JsResult result) { 
       result.confirm(); 
       return true; 
      } 

      ; 
     }); 
     setContentView(wvBrowser, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 
     wvBrowser.loadUrl(url); 
    } 
+0

但videoview不支持rtmp協議 – Reyjohn

+1

哦廢話,我讀這一切都是錯誤的。我誤將它讀爲「rtsp」。非常抱歉。 – petey

+0

那麼你對RTMP有什麼想法? – Reyjohn

相關問題