Android 4.1.x で HTML5 メディア タグを使用してビデオを再生しようとしています。他の API (上と下の両方) レベルで再生することができますgetMediaPlaybackRequiresUserGesture
。API レベル 17 以降については知っています。ただし、特に 4.1.x では、ユーザーのジェスチャーなしではビデオを再生できません。アクティビティで hardwareAccelerated=true を設定し、カスタム ChromeClient を使用することを知っています。
4.1 webkitのソース コードを見ると、4.1.x の mediaPlayback でもユーザー ジェスチャが必要なようですが、その API レベルではアクティビティで requiresUserGesture(true) を使用できません。
私のHTMLコードは基本的に次のとおりで、画面をタップしないとビデオが再生されません。すべてのイベントをリッスンすると、loadstart => durationchange => loadedmetadata => loadeddata => 停止することがわかります。
<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>