2

我在一个项目中,我必须从链接播放电视频道的视频流。但问题是我必须在本机应用程序中播放视频,而不是在 web 视图中。据我所知,它只是实现了一个调用的 API VITAMIO,它对播放 http、mms 等协议有很大帮助,但无法播放 RTMP 视频。我还研究并发现基本的androidvideoview也无法播放RTMP,所以我只想知道有没有可用的API或者有什么方法可以在支持RTSP、RTMP、MMS、HTTP的原生android应用程序中播放视频ETC?

4

2 回答 2

1

您可以使用 vitamio,这是插件本机应用程序播放流 rmpt,http,...非常好。它对我来说很好用。我想你通过 VLC 检查链接频道。

于 2012-11-08T18:20:15.997 回答
1

RTMP 只是闪存。VITAMIO 播放器可能会在某些设备上运行,而在其他设备上则根本无法运行。我不确定您使用的是插件版本还是他们播放器的许可版本。我与它的互动很小,因为我并没有给我留下深刻的印象(当时......我会在今年晚些时候回去再试一次)

你可以做什么:

  1. 创建/使用您自己的 Flash 播放器
  2. 创建一个包含 webview 的活动
  3. 在android上添加对flash插件的检测。
  4. 让 webview 加载你的 flash swf 文件

这里有一些代码来检测 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);
    }
于 2012-11-08T18:26:24.197 回答