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

Mar*_*rio 11 html5 mp4 android mobile-safari mobile-chrome

我有这个代码在html5页面播放视频:

  <video autoplay loop id="bgvid">
    <source src="video-background.mp4" poster="/poster.png" type="video/mp4">
  </video>
Run Code Online (Sandbox Code Playgroud)

问题是它不适用于移动Chrome(Android手机)和手机游戏(iPhone).但它适用于桌面上的"每个"浏览器(使用Safari,Chrome,Firefox测试)以及移动版Firefox(Android手机).

我该如何克服这个问题?

编辑: 添加此代码:

  var myVideo = document.getElementById("bgvid");

  function playVid() {
      myVideo.play();
  }

  function pauseVid() {
      myVideo.pause();
  }
Run Code Online (Sandbox Code Playgroud)

如果我添加一个触发函数playVid()的按钮就可以了.所以我认为问题在于自动播放.我试图用load事件触发函数,但它不起作用.

Nik*_*kic 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 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  ...
Run Code Online (Sandbox Code Playgroud)

评论:

我不明白ios html5政治.他们停止支持javascript控制台记录器(我现在要求:从版本5.1 ios).Auto play disabled,webrtc ...他们想要完美的设备.加载时自动播放可能很危险.在不久的将来,我希望在所有移动设备上激活完整的html5支持.

新的更新:我发现这是正面答案:

自从iOS 10发布以来,Apple已经允许静音视频自动播放:https://webkit.org/blog/6784/new-video-policies-for-ios/