我正处于一个项目中,我必须从链接播放电视频道的视频流。但问题是我必须在不在webview中的原生应用中播放视频。我所做的只是实现了一个名为VITAMIO
的API,它有助于播放http,mms等协议,但无法播放RTMP视频。我也研究过,发现基本的android videoview
也无法播放RTMP,所以我只是想知道有没有可用的API,或者有没有办法在支持RTSP的原生android应用程序中播放视频, RTMP,MMS,HTTP等?
答案 0 :(得分:1)
你可以使用vitamio,这是插件原生app回放流rmpt,http,...非常好。它对我来说很好。我想你通过VLC检查链接频道。
答案 1 :(得分:1)
RTMP仅限闪存。 VITAMIO播放器可能会在某些设备上运行,而在其他设备上则无法运行。我不确定您是使用插件版本还是其播放器的许可版本。我与它的互动很小,因为我没有留下深刻的印象(当时......我会回去,今年晚些时候再试一次)
你能做什么:
这里有一些代码来检测flash并加载一个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);
}