我编写了一些音频抓取脚本来搜索 mp3 音频文件 url 链接,并将其 url 加载到我的 HTML audio
的 src
中。但是,我发现一些 mp3 url 无法正常工作,因此 audio
无法执行 load()
,因为音频文件在第一个中不可以使用地方。我查找了 audio\video
html dom 引用,但没有找到任何有用的方法或属性,如果音频未正确加载,它们会返回一个值。
假设我有以下代码:
var url= $(data).find(".download_button a").attr('href');
$('source').attr("src", url);
$('#mp3').get(0).load();
$('#mp3').get(0).play();
例如,如果网址是这样的:http://www.7inchpunk.com/wp-content/upload1/01LetsGetRidOfNewYork.mp3 。这是一个找不到的网站。我无法执行 if($('#mp3').get(0).load())
因为 load()
没有返回值。那么如何检查音频文件是否已加载?
最佳答案
您可以 Hook 源对象的 onerror
事件:
var url = 'http://www.7inchpunk.com/wp-content/upload1/01LetsGetRidOfNewYork.mp3';
$('source').attr("src", url);
$('#mp3').get(0).load();
$('#mp3').get(0).play();
$('source').on('error', function () {
console.log('OOPS');
});
关于javascript - 如何检查音频是否未加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33554261/