html5视频标签中的Mp4视频无法在移动Chrome和移动游戏中播放

时间:2015-09-03 14:44:22

标签: android html5 mobile-safari mp4 mobile-chrome

我有这个代码在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事件触发函数,但它不起作用。

1 个答案:

答案 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/