首页 > 解决方案 > JavaScript 音频持续时间不适用于 ALAC 文件(HTML 音频持续时间属性)

问题描述

我在一些 JS 代码中使用以下实现来获取加载的音频文件的持续时间:http: //jsfiddle.net/derickbailey/s4P2v/(取自https://lostechies.com/derickbailey/2013/09/23/使用 htmls-file-api-and-audio-element/ 获取音频文件信息。)

我的实现是相同的,即使使用createObjectURL. 它适用于 MP3、AAC (.m4a) 和 FLAC,但不适用于 ALAC(也适用于 .m4a)。

let length = 0;
let url = URL.createObjectURL(file);
let audio = new Audio(url);
audio.addEventListener('loadeddata', function () {
    length = audio.duration;
}

有谁知道我如何使用纯 JavaScript获取ALAC文件的持续时间?我没有使用任何框架,并且是 JS 新手。

谢谢

标签: javascriptaudiohtml5-audio

解决方案


在 MDN 上的文章Web 音频编解码器指南中,它仅在 ALAC 编解码器的浏览器支持部分显示了 Safari。

以下是该文章中完整的浏览器兼容性表:

特征 铬合金 边缘 火狐 IE浏览器 歌剧 苹果浏览器
ALAC 支持 是的

推荐阅读