html5加载音频时间/元数据但不加音频?

时间:2010-11-03 20:06:02

标签: javascript html5 audio

2 个答案:

答案 0 :(得分:2)

应该能够使用preload属性:

<audio autobuffer preload=”metadata” src=”audio.foo”></audio>

还有一个关于Chris Pearce's blog的建议和讨论,它基本上建议暂停然后将src设置为空字符串。正如帖子评论中所解释的那样,这种方法并不理想......你可以(理论上)在loadedmetadata事件触发后立即执行此操作,并且您已经检索了所需的元数据。

This question建议设置标头,这也可能有用......

答案 1 :(得分:0)

您不应调用load方法。

我创建了一个函数,该函数返回一个promise,该请求将在加载元数据时解决。使用此功能,将仅加载音频文件的元数据:

function getAudioMetaData(src) {
    return new Promise(function(resolve) {
        var audio = new Audio();

        $(audio).on("loadedmetadata", function() {
            resolve(audio);
        });

        audio.preload = 'metadata';
        audio.src = src;
    });
}