0

有没有办法提取视频播放器内的实际播放视频区域(例如 x、y、宽度、高度)?“实际播放的视频”是指黑条之间的部分(如果 videogular 容器的纵横比与视频本身不同)。

谢谢

4

1 回答 1

1

我是 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);
};
于 2015-03-22T10:42:15.603 回答