我有这个代码在html5页面中播放视频:
<video autoplay loop id="bgvid">
<source src="video-background.mp4" poster="/poster.png" type="video/mp4">
</video>
问题在于它无法在移动设备(Android手机)中使用,也无法在移动设备(iPhone)中使用。但它适用于桌面上的“每个”浏览器(使用Safari,Chrome,Firefox测试)以及移动版Firefox(Android手机)。
我如何克服这个问题?
修改 添加了此代码:
var myVideo = document.getElementById("bgvid");
function playVid() {
myVideo.play();
}
function pauseVid() {
myVideo.pause();
}
如果我添加一个触发函数playVid()的按钮,它就可以工作。所以我认为问题在于自动播放。我试图用load事件触发函数,但它不起作用。
答案 0 :(得分:5)
很简单,手机游戏中不支持autoPlay。请测试所有Android浏览器。
我使用一个技巧(或显示一些弹出窗口来使用事件):
var ONLYONETIME_EXECUTE = null;
window.addEventListener('load', function(){ // on page load
document.body.addEventListener('touchstart', function(e){
if (ONLYONETIME_EXECUTE == null) {
video.play();
//if you want to prepare more than one video/audios use this trick :
video2.play();
video2.pause();
// now video2 is buffering and you can play it programmability later
// My personal testing was maximum 6 video/audio for android
// and maybe 3 max for iOS using this trick.
ONLYONETIME_EXECUTE = 0;
}
}, false)
}, false)
// It is very usually that user touch screen ...
评论:
我不明白ios html5政治。他们停止支持javascript控制台记录器(我现在要求:从版本5.1 ios).Auto play disabled,webrtc ... 他们想要完美的设备。加载时自动播放可能很危险。在不久的将来,我希望在所有移动设备上激活完整的html5支持。
新更新: 我发现这就像是积极的答案:
自iOS 10发布以来,Apple已允许静音视频自动播放:https://webkit.org/blog/6784/new-video-policies-for-ios/