html5改变源视频的长宽比,HTML5视频配合宽度或高度

我也有类似的问题。我做了一个幻灯片,幻灯片包含各种物体,其中一些是各种尺寸的视频。我没有找到任何概念上的解决方案,所以我找到了一个窍门。

我已经明确地规定在标签的所有真实视频尺寸,并收集所有这些信息:

var vids = document.getElementsByClassName("vid"); // videos

var vidl = vids.length;

var vidH = [ ];

var vidW = [ ];

// Get original widths and heights of videos

for (i=0; i

vidH.push(vids[i].height);

vidW.push(vids[i].width);

}

然后(必要时)我定义的窗口大小,如下所示:

// Current inner height of the browser window (in pixels)

var iH = window.innerHeight

|| document.documentElement.clientHeight

|| document.body.clientHeight;

// Current inner width of the browser window (in pixels)

var iW = window.innerWidth

|| document.documentElement.clientWidth

|| document.body.clientWidth;

要将矩形重新缩放到另一个矩形中,我们必须找到最小比例:

var r, rh, rw;

// Scale videos to fit window

for (i=0; i

rh=iH/vidH[i]; rw=iW/vidW[i]; r=Math.min(rh, rw);

if (rh>rw) {

vids[i].height=Math.floor(vidH[i]*r);

vids[i].width=iW;

}

else {

vids[i].height=iH-5;

vids[i].width=Math.floor(vidW[i]*r);

}

}

不幸的是,这里出现了一些额外的空间;在FireFox中,我发现它的最小值为5,我将窗口高度值(iH)取消为新的视频大小。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值