【问题标题】:Issues with playing inline local HTML5 video files on Android 4.4 Chromium webview在 Android 4.4 Chromium webview 上播放内联本地 HTML5 视频文件的问题
【发布时间】:2013-12-31 06:05:59
【问题描述】:

我正在更新一个 2.2/2.3 Android 应用程序,该应用程序在 web 视图中使用全屏 HTML5 视频,并尝试在最新的 4.4 平台上实现内联视频。在阅读了新的 Chromium webview 对 HTML5 功能的支持有了很大改进后,我认为 HTML5 视频标签的功能类似于它在 Chrome 浏览器上的功能。骗我。

在努力让内联视频正常工作后,我做到了。正如其他帖子中提到的,对本地文件的内联视频支持仅适用于位于 sdcard 上的外部视频文件。我无法像以前一样从 Assets 文件夹或通过 Raw 资源文件访问我的视频文件。我还必须在我的应用清单中添加 READ_EXTERNAL_STORAGE 权限。这是视频标签和权限标记:

<video id="video1" class="div-centered-content" controls preload="none" src="/sdcard/gizmo.mp4" type="video/mp4"></video>

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

以下是我从自己的努力中得出的一些其他结论。如果您不知道,请将这些视为需要正确答案的问题。

  1. AutoplayLoop HTML5 视频标签属性不起作用。

  2. 默认播放器控件中的全屏按钮不起作用。

  3. 新的 webview 对 src 属性的处理不提供对位于 Res/Raw 文件夹中的资产视频文件和/或资源的自动解析和处理。由于 Assets 和 Resources 压缩在 .apk 中,因此无法直接通过 HTML5 视频的 src 属性加载。

  4. onShowCustomView 处理程序仅在用户触摸播放器控件上的全屏按钮时才会被调用。当通过javascript播放视频时,从一开始就没有明显的方法来拦截和手动处理Android中的视频。我不知道是否有办法通过 javascript 和桥接手动调用 VideoView 并处理它,类似于它在 2.2 中的处理方式。如果这确实可以做到,那么没有示例代码可以说明最好的方法。 (我想要这个选项,因为我可以从我的资产/资源中加载视频文件并提供全屏功能。)

如果有任何关于如何解决上述问题的简明示例,我相信 webview 用户社区会很感激这些信息。仍然无法相信,2 年后,Android webview 团队既未能完全支持 HTML5 视频标签,也未能提供任何可帮助开发人员更轻松地实现包含视频的 webview 应用程序的文档。

【问题讨论】:

  • 你如何获取路径(在你的情况下"/sdcard/gizmo.mp4" 从文件 URI?当我使用 "file://..." 时,我收到“不允许播放文件”错误,所以我想我需要使用相对的..

标签: android html video webview local


【解决方案1】:

让我们看看我们是否可以互相帮助。我遇到了类似的问题,但在测试了几个浏览器后,我发现 UCBrowser 在我的目标平台上完美运行。我得到的另一个线索是,当我正在开发我的解决方案以运行 Chromecast 之类的东西时,我发现它似乎可以在我的 Galaxy Tab2 上运行。我在看我的 Logcat 并注意到 Tab2 Chrome 和 UCBrowser 的工作方式不同。

我通过 Logcat 注意到,当 Chrome 和 UCBrowser 下降到 MediaPlayer 级别时,它似乎有一点区别。这是我们无法控制的,因为它是由 Webview 触发的。

这是有趣的部分。我决定让 Tab2 成为一个网络服务器来托管相同的 html 页面和视频文件,然后宾果游戏!现在 Chrome 可以显示图片,我的 javascript 可以按预期工作。所以在我看来,只有当我们传递像“file:///mnt/sdcard/download/videos.html”这样的url并且我的所有视频都存储在同一个sdcard上时,才会出现问题。我认为这种配置可以让 Webview 更好地避免使用无线带宽。

只要我远程保存我的 html 和视频文件,我的问题似乎得到了解决。然而,UCBrowser 似乎没有这个问题,所以我想知道他们在做什么不同。

【讨论】:

    猜你喜欢
    • 2011-10-23
    • 2012-12-21
    • 1970-01-01
    • 1970-01-01
    • 2021-05-30
    • 1970-01-01
    • 2013-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多