根据屏幕分辨率加载不同的视频(html5)质量
Loading different video (html5) quality according to screen resolution
我试图根据用户屏幕高度分辨率显示不同的视频分辨率,我有这个代码,但我不是javascript专家。它应该改变src属性,如果分辨率较低或者等于360px高度,等等。有什么建议吗?
<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>
我不知道关于"text/rocketscript"(与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小提琴帧甚至更小。这可能是个bug,也可能不是!但是它会加载视频
相关文章:
- 如何检查用户在html5视频播放器中观看了完整的视频
- 我可以设置HTML5文件上传的视频长度限制吗
- HTML5视频无法在chrome上工作,在服务器上托管后的IE,mov文件中的视频(quicktime格式)
- 通过Jquery更改html5中的视频(不同质量)文件
- iOS/HTML5上的视频相关事件跟踪
- 视频HTML5的函数
- 当我选择菜单项时,如何播放html5播放器的视频
- html5中的视频,内容类型视频/x-msvideo
- 如何在客户端使用HTML5 / Javascript和控制器上的C#代码在MVC中将录制的视频作为blob发布/上传
- HTML5读取mp4的视频元数据
- 在单个网页上显示带有自定义控件的少量 html5 视频
- 我想用js更改一个html5视频的视频源
- HTML5播放器不会在智能手机上播放子域中的视频
- html5视频-将进度事件与动态加载的视频一起使用
- HTML5/javascript流式传输已播放的视频列表
- 用于html5视频播放器的视频格式
- HTML5循环4视频后结束之前的视频在phoneGap android应用程序不工作
- 只有在缓冲完完整的视频后才能开始播放HTML5视频
- 根据屏幕分辨率加载不同的视频(html5)质量
- 如何使保存按钮保存图像上的视频HTML5