我正在尝试使用这两个简单的函数来检查 URL 是否包含音频或视频: //For video var video = document.createElement("video"); video.setAttribute("src", url); video.addEventListener("canplay", function() { console.log("video true"); }); video.addEventListener("error", function() { console.log("video false"); }); //For audio var audio = new Audio(); audio.setAttribute("src", url); audio.addEventListener("canplay", function() { console.log("audio true"); }); audio.addEventListener("error", function() { console.log("audio false"); });问题是它们都为有效的音频和视频 URL 返回 true,解决方案是什么?
1 回答
森栏
TA贡献1810条经验 获得超5个赞
所以经过深入研究,我发现(在 HTML 中)音频实际上是一个没有尺寸的视频,所以你可以简单地使用这个:
var video = document.createElement("video");
video.setAttribute("src", url);
video.addEventListener("canplay", function() {
console.log("video true");
console.log(video.videoHeight);
});
video.addEventListener("error", function() {
console.log("video false");
});
//audio => video true
// 0
//video => video true
// 1080
添加回答
举报
0/150
提交
取消