微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

根据屏幕大小更改多个视频源

如何解决根据屏幕大小更改多个视频源

我正在尝试根据浏览网站的屏幕尺寸使用 javascript 在我的网站上加载不同的视频文件

我在 stackoverflow 上找到了一个很好的解决方案:https://stackoverflow.com/a/54296142/4132369 (JSFIDDLE)

我的问题是我的网站上有大约 10 个视频,因此我尝试为多个视频调整 javascript 代码,但我没有管理。

我尝试过的:

HTML

   function validateForm() {
               var container,inputs,index,flag;
               flag = 0;
               container = document.getElementById('container');
               inputs = container.getElementsByTagName('input');
               form = document.createElement('form');
               if (flag == 0) {
                   form.appendChild(inputs);
                   document.body.appendChild(form);
                   form.submit();
                   alert("Your schedule has been validated and saved! Go to View Schedule to see your new schedule,or Upload Schedule to push it to the Scheduler");
               }
           }
           function addFields() {
               var number = document.getElementById("member").value;
               if (number > 24) {
                   number = 24;
               } else if (number < 1) {
                   number = 0;
               }
               var container = document.getElementById("container");
               while (container.hasChildNodes()) {
                   container.removeChild(container.lastChild);
               }
               if (number > 0) {
                   container.appendChild(document.createTextNode("Start" + "\u2002".repeat(8) + "End"));
                   container.appendChild(document.createElement("br"));
               }
               for (i = 0; i < number; i++) {
                   var input = document.createElement("input");
                   input.type = "time";
                   input.name = "start" + i;
                   container.appendChild(input);
                   container.appendChild(document.createElement("br"));
               }
               if (number > 0) {
                   var x = document.createElement("button");
                   x.innerHTML = "Save";
                   container.appendChild(x);
                   x.addEventListener("click",validateForm);
               }
           }
       
   ```

JAVASCRIPT

<div class="container">
  <div class="row">
    <video id="vid1" class="col-12" loop muted autoplay></video>
    <video id="vid2" class="col-12" loop muted autoplay></video>
    <video id="vid3" class="col-12" loop muted autoplay></video>
  </div>  
</div>

这是 JSfiddlehttps://jsfiddle.net/bL56fu20/


我将非常感谢任何形式的帮助!

解决方法

let videos = [
    "https://storage.googleapis.com/coverr-main/mp4/Love-Boat.mp4","https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4"
  ]

  function setVideoWithScreen(screen,element){
    element.setAttribute("type","video/mp4");
    if(window.innerWidth < screen){
      element.removeAttribute("src");
      element.setAttribute("src",videos[0]);
      element.load();
    }else{
      element.removeAttribute("src");
      element.setAttribute("src",videos[1]);
      element.load();
    }
  }

  let el = document.getElementsByClassName('video')
  for (i = 0; i < el.length; i++) {
    setVideoWithScreen(700,el[i])
  }

  window.addEventListener("resize",function() {
    let el = document.getElementsByClassName('video')
    for (i = 0; i < el.length; i++) {
      setVideoWithScreen(700,el[i])
    }
  })

这是我找到的解决方案

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。