<video id="video4" width="100%" height="400px" src="media/1.mp4">
<source type="video/mp4">
</video>
从视频列表中选择视频将video中的src进行更改后,直接获取 videoHeight、videoWidth会得到 0 值
var video4 = $("#video4").get(0);
video4.src = "media/2.mp4";
var videoHeight = video4.videoHeight; //0
var videoWidth = video4.videoWidth; //0
解决方法如下:
对视频更改来源或其他设置后要对视频元素进行更新,更改后需要重新加载 video 元素,在 video 元素加载完成后 (oncanplay),此时才能获取到正确的 videoHeight、videoWidth值。
var video4 = $("#video4").get(0);
video4.src = "media/2.mp4";
video4.load();
video4.oncanplay = function () {
var videoHeight = video4.videoHeight; //2.mp4真实高度
var videoWidth = video4.videoWidth; //2.mp4真实宽度
}