js通过视频链接获取视频时长
这个函数用提供的URL创建一个新的Video元素,并在loadedmetadata事件被触发时解析一个带有视频持续时间的Promise。它还处理可能发生的任何错误。
注意,Video元素的duration属性是以秒为单位的,因此如果需要,您可能希望将其转换为更易于阅读的格式。
function getVideoDuration(url) {
return new Promise((resolve, reject) => {
const video = document.createElement('video');
video.src = url;
video.addEventListener('loadedmetadata', () => {
resolve(video.duration);
video.remove();
});
video.addEventListener('error', () => {
resolve(null);
video.remove();
});
document.body.appendChild(video);
});
}
// Example usage
const videoUrl = 'https://www.example.com/video.mp4';
getVideoDuration(videoUrl)
.then((duration) => {
if (duration) {
console.log('Video duration:', duration);
} else {
console.log('Failed to get video duration');
}
});