【问题标题】:Redirect embedded video from WebView to standalone player / Play in fullscreen when in landscape mode将嵌入的视频从 WebView 重定向到独立播放器/在横向模式下全屏播放
【发布时间】:2012-03-23 10:41:39
【问题描述】:

我正在开发一个新闻阅读器应用程序,因此我解析 RSS 提要数据,然后填充 android 组件。在那里,我有一个显示 HTML 数据的 WebView 组件(从特定的 XML 标记解析,但这并不重要)。

因此,HTML 数据包含有效的 HTML,包括文本、格式、图像,并且在某些新闻中 - 可以包含嵌入的视频。

视频通过 (YT) (其他视频托管网站)嵌入并正确显示/播放 - 网络视图就地播放。视频来自 YouTube、Vimeo 等,但主要 (>90%) 来自 YouTube,因此 YouTube 是此问题的范围。

我使用以下代码显示 webview 内容:

    webContent.setWebViewClient(new WebViewOverrideUrl());
    webContent.getSettings().setJavaScriptEnabled(true);
    webContent.getSettings().setPluginsEnabled(true);
    webContent.loadDataWithBaseURL(null, htmlContent.toString(), "text/html", "utf-8", null);

我的问题是:

1. 是否可以将此视频重定向到独立应用,例如 YouTube 或 Flash 播放器(或任何用户安装的播放视频)?

我已经阅读了很多关于这个主题的帖子,但我找不到解决方案。一点头绪都没有。

2. 是否可以在将方向更改为横向时告诉带有视频(主要是 YouTube)内容的帧以全屏播放(或者如果它已经是横向,则以全屏播放点击后立即)?

3. 是否可以使用 YouTube (Flash) 播放器,如果不是,是否可以使用 HTML5 标签(而不是 iframe)?

可以为视频创建任何选项卡并将其嵌入到服务器端的 HTML 内容中(、、、、<...whatever...>),所以我正在寻找可能的选项。

非常感谢,如果我在此期间提出某种解决方案,我一定会在这里发布。很多人都面临着类似的问题。

【问题讨论】:

  • 看看这个也许对你有帮助:stackoverflow.com/questions/9514200/…
  • @goodm 我已经尝试过了,这样的东西可以起作用的机会非常有限。不过还是谢谢你的回复。保存来自 YT 的视频的 iframe 看起来(完全)如下所示:。我知道我可以解析 html 数据,获取视频 url,然后开始打开它。问题是,我可以在同一页面上有多个视频。

标签: android video youtube html5-video android-webview


【解决方案1】:

好吧,终于来回答这个问题了。

由于这些设备上有大量不同的设备和不同的 Android 系统,我决定使用最简单的方法 - 我只是询问用户他想在哪里播放视频。

大家都知道的代码是:

    Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
    startActivity(browserIntent);

自从我在嵌入标签中获取 youTube 链接后,为我创建 XML 数据的人制作了一个仅获取 youTube 链接的正则表达式,我将其包装在 html 标签中,部分在服务器上,部分在应用程序内以获得可接受的外观.

这是我发现适用于所有设备的唯一方法。试图直接瞄准 YouTube 应用程序,但这在一些甚至安装了 YT 的非常常见的设备上不起作用(Telenor/Alcatel OneTouch)。尝试并成功创建了自定义视频播放器,但它无法在某些随机设备上运行,尽管它可以在同一设备型号的不同部分上运行。

希望这可以帮助某人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-21
    • 2017-03-13
    • 2013-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-21
    相关资源
    最近更新 更多