提取videogular中的实际播放视频区域(即没有黑条)



是否有方法提取videogular播放器内部的实际播放视频区域(例如x、y、宽度、高度)?所谓"实际播放视频",我指的是黑条之间的部分(在videogular容器与视频本身具有不同纵横比的情况下)。

感谢

我是Videogular的创建者。

您可以从API.mediaElement属性中提取该信息。

我建议您提取onUpdateTime回调上的信息,因为当加载视频元数据时,您将收到视频对象维度。例如:

this.onUpdateTime = function (currentTime, totalTime) {
  this.currentTime = currentTime;
  this.totalTime = totalTime;
  var containerWidth = this.API.mediaElement[0].offsetWidth;
  var containerHeight = this.API.mediaElement[0].offsetHeight;
  var videoWidth = this.API.mediaElement[0].videoWidth;
  var videoHeight = this.API.mediaElement[0].videoHeight;
  console.log(containerWidth);
  console.log(containerHeight);
  console.log(videoWidth);
  console.log(videoHeight);
  var calcVideoHeight = videoHeight * containerWidth / videoWidth;
  var videoY = (containerHeight - calcVideoHeight) / 2;
  console.log(calcVideoHeight);
  console.log(videoY);
  console.log("actual playing area");
  console.log("x: " + this.API.mediaElement[0].offsetLeft + 
              " | y: " + videoY + 
              " | videoWidth: " + containerWidth + 
              " | videoHeight: " + calcVideoHeight);
};

最新更新