繁体   English   中英

根据屏幕分辨率加载不同的视频(html5)质量

[英]Loading different video (html5) quality according to screen resolution

我试图根据用户屏幕高度分辨率显示不同的视频分辨率,我有此代码,但我不是JavaScript专家。 如果res小于等于360px的高度,则应该更改src属性,依此类推。 有什么建议么?

 <script type="text/rocketscript"> var v = new Array(); v[0] = ["https://dl.dropboxusercontent.com/u/51626189/nli-vids/intro/intro-360_x264.mp4"]; v[1] = ["https://dl.dropboxusercontent.com/u/51626189/nli-vids/intro/intro-480_x264.mp4"]; v[2] = ["https://dl.dropboxusercontent.com/u/51626189/nli-vids/intro/intro-720_x264.mp4"]; v[3] = ["https://dl.dropboxusercontent.com/u/51626189/nli-vids/intro/intro-1080_x264.mp4"]; function changeVid(n){ var video = document.getElementById('video'); if (screen.height<=360) {video.setAttribute("src", v[n][0]);} else if (screen.height<=480) {video.setAttribute("src", v[n][1]);} else if (screen.height<=720) {video.setAttribute("src", v[n][2]);} else if (screen.height<=768) {video.setAttribute("src", v[n][2]);} else if (screen.height<=1080) {video.setAttribute("src", v[n][3]);} else if (screen.width>=1920) {video.setAttribute("src", v[n][3]);} video.load();} </script> 
 <video id="video" autoplay preload src="#"> </video> 

我不知道“文本/火箭脚本”(与Wordpress和/或CloudFlare有关吗?),但是此Javascript可以运行:

<script type="text/javascript">
var v = new Array();
v[0] = "https://dl.dropboxusercontent.com/u/51626189/nli-vids/intro/intro-360_x264.mp4";
v[1] = "https://dl.dropboxusercontent.com/u/51626189/nli-vids/intro/intro-480_x264.mp4";
v[2] = "https://dl.dropboxusercontent.com/u/51626189/nli-vids/intro/intro-720_x264.mp4";
v[3] = "https://dl.dropboxusercontent.com/u/51626189/nli-vids/intro/intro-1080_x264.mp4";

function changeVid() {
    var video = document.getElementById('video');
    if (screen.height <= 360) video.setAttribute("src", v[0]);
    else if (screen.height <= 480) video.setAttribute("src", v[1]);
    else if (screen.height <= 768) video.setAttribute("src", v[2]);
    else video.setAttribute("src", v[3]);

    video.load();
}

changeVid();
</script>

抱歉,我无法将其用作摘要,请在此处使用JS小提琴: http : //jsfiddle.net/3g59yomb/

请注意,即使我的浏览器窗口小得多,它也会加载高分辨率视频(在我的系统上具有2560 x 1440的屏幕),而JS Fiddle框架甚至更小。 那可能不是bug! 但是它确实加载了视频。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM