1

我正在尝试在 Android 4.1.x 上使用 HTML5 媒体标签播放视频,我可以让它在其他 API(以上和以下)级别上播放,我知道getMediaPlaybackRequiresUserGestureAPI 级别 17+。但是,特别是在 4.1.x 上,我无法在没有用户手势的情况下播放视频。我知道在我的活动中设置 hardwareAccelerated=true 并使用自定义 ChromeClient。

查看4.1 webkit源代码,似乎即使在 4.1.x mediaPlayback 上也需要用户手势,即使在那个 API 级别上我不能在我的活动中使用 requiresUserGesture(true) 。

我的 HTML 代码基本上如下,除非我点击屏幕,否则视频不会播放。如果我听所有的事件,我会看到它加载开始 => 持续时间更改 => 加载元数据 => 加载数据 => 停滞。

<html>
<head>
<script>
  window.addEventListener('load', function () {
    var video = document.getElementById("video");
    video.load();
    video.play();
  }, false);
</script>
</head>
<body>
  <video id="video" src="file:///sdcard/example/file.mp4" preload="auto"></video>
</video>
</body>
</html>
4

0 回答 0