阿里云短视频H5解决方案

1. 视频高度很高,宽度很窄的情况:

    根据cover的宽高比进行判断,对视频进行缩放,屏幕可视区域长宽比和视频宽度比小于0.3时进行缩放,超过限定值,视频高度等于可视区域高度(ios微信浏览器window.innerHeight):

optimizeVideo(CoverURL) {
  let _this = this,
    screenScale = window.innerHeight/window.screen.width,
    videoScale,
    _coverImg = new Image();

  _coverImg.src = CoverURL;
  _coverImg.onload = function () {
    videoScale = _coverImg.height/_coverImg.width;
    if(Math.abs(videoScale - screenScale) < 0.3) {
      _this.$refs.video.childNodes[14].style.setProperty("background-size","cover","important");
      _this.$refs.video.childNodes[0].style.setProperty("transform","translate(-50% , -50%) scale(" + (Math.abs(videoScale - screenScale)+1) + ")","important");
    } else {
      _this.$refs.video.childNodes[0].style.maxHeight = window.screen.height + 'px';
    }
  }
}

2. 视频高度小于宽度,无需处理;

3. 视频封面图cover需要处理,封面样式,短视频高度小于宽度的时候,设置contain;全屏显示的封面图,设置cover;

4. 其他的控制栏样式视情况优化;

 


版权声明:本文为zhaozilong666原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。