html5 视频标签中的 Mp4 视频无法在移动 chrome 和移动 safari 中播放
Mp4 video in html5 video tag not playing in mobile chrome and mobile safari
我有这段代码可以在 html5 页面中播放视频:
<video autoplay loop id="bgvid">
<source src="video-background.mp4" poster="/poster.png" type="video/mp4">
</video>
问题是它在移动 chrome (Android Phone) 和移动 safari (iPhone) 中都不起作用。但它适用于 "every" 浏览器(使用 Safari、Chrome、Firefox 测试)在桌面和移动 firefox (Android Phone) 上。
我怎样才能克服这个问题?
编辑:
添加此代码:
var myVideo = document.getElementById("bgvid");
function playVid() {
myVideo.play();
}
function pauseVid() {
myVideo.pause();
}
如果我添加一个触发函数 playVid() 的按钮,它将起作用。所以我认为问题出在自动播放上。我试图用加载事件触发该功能,但它不起作用。
很简单,移动 safari 不支持自动播放。请测试所有 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 single click or touch.
// Every next click also can prepare more audios/videos.
ONLYONETIME_EXECUTE = 0;
}
}, false)
}, false)
// It is very usually that user touch screen ...
评论:
我不懂ios html5 政治。他们停止支持 javascript 控制台记录器(我现在要求:从版本 5.1 ios)。自动播放已禁用,webrtc ...
他们想要完美运行的设备。自动播放在加载时可能很危险。在不久的将来,我希望在所有移动设备上完全支持 html5 激活。
新更新:
我发现这是肯定的答案:
自 iOS 10 Apple 发布以来允许静音视频自动播放:https://webkit.org/blog/6784/new-video-policies-for-ios/
我有这段代码可以在 html5 页面中播放视频:
<video autoplay loop id="bgvid">
<source src="video-background.mp4" poster="/poster.png" type="video/mp4">
</video>
问题是它在移动 chrome (Android Phone) 和移动 safari (iPhone) 中都不起作用。但它适用于 "every" 浏览器(使用 Safari、Chrome、Firefox 测试)在桌面和移动 firefox (Android Phone) 上。
我怎样才能克服这个问题?
编辑: 添加此代码:
var myVideo = document.getElementById("bgvid");
function playVid() {
myVideo.play();
}
function pauseVid() {
myVideo.pause();
}
如果我添加一个触发函数 playVid() 的按钮,它将起作用。所以我认为问题出在自动播放上。我试图用加载事件触发该功能,但它不起作用。
很简单,移动 safari 不支持自动播放。请测试所有 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 single click or touch.
// Every next click also can prepare more audios/videos.
ONLYONETIME_EXECUTE = 0;
}
}, false)
}, false)
// It is very usually that user touch screen ...
评论:
我不懂ios html5 政治。他们停止支持 javascript 控制台记录器(我现在要求:从版本 5.1 ios)。自动播放已禁用,webrtc ... 他们想要完美运行的设备。自动播放在加载时可能很危险。在不久的将来,我希望在所有移动设备上完全支持 html5 激活。
新更新: 我发现这是肯定的答案:
自 iOS 10 Apple 发布以来允许静音视频自动播放:https://webkit.org/blog/6784/new-video-policies-for-ios/