首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在android原生应用中播放rtmp视频流?

如何在android原生应用中播放rtmp视频流?
EN

Stack Overflow用户
提问于 2012-11-09 02:15:57
回答 2查看 4.5K关注 0票数 2

我在一个项目中,我必须从链接播放电视频道的视频流。但问题是,我必须在本地应用程序中播放视频,而不是在网页视图中。就我所做的,我只是实现了一个叫做VITAMIO的API,它对播放http,mms等协议有很大的帮助,但无法播放RTMP视频。我还研究发现,基本的android videoview也不能播放RTMP,所以我只想知道有没有可用的接口,或者有没有办法在原生的android应用程序中播放视频,支持RTSP、RTMP、彩信、HTTP等?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-09 02:20:16

你可以使用vitamio,这是插件原生应用程序播放流rmpt,http,...very well.It对我来说很好。我想你可以用VLC检查链接通道。

票数 1
EN

Stack Overflow用户

发布于 2012-11-09 02:26:24

RTMP仅为闪存。VITAMIO播放器可能会在一些设备上工作,而在其他设备上则完全不能工作。我不确定您使用的是插件版本还是他们播放器的许可版本。我与它的互动很小,因为我并不是真的印象深刻(当时……我会在今年晚些时候再试一次)

您可以执行的操作:

  1. 创建/使用您自己的flash player
  2. 创建一个活动,其中包含webview
  3. 添加对android上的flash插件的检测。
  4. 让webview加载您的flash swf文件

<代码>G29

下面是一些检测flash并加载url的代码:

代码语言:javascript
运行
复制
    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);
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13295199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档