如何检查音频是否未加载?

时间:2015-11-05 20:34:16

标签: javascript jquery html5 audio

我写了一些搜索mp3音频文件url链接的音频抓取脚本,并将其网址加载到我的HTML audio src中。但是,我发现一些mp3网址无法正常工作,因此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()没有返回值。那么如何检查是否加载了音频文件?

1 个答案:

答案 0 :(得分:1)

您可以挂钩源对象的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');
});

示例:http://jsfiddle.net/r9Lh78e2/