设置 Javascript 音频对象的 MIME 类型

Set MIME type of Javascript audio object

要在 HTML5 音频标签上支持 HLS 音频流,我们可以成功使用此 MIME 类型:

<audio autoplay>
    <source src="AUDIO_URL" type="application/x-mpegURL">
</audio>

但是,如果我以编程方式创建音频元素,我似乎无法指定 MIME 类型应该是什么。因为我无法为 HLS 音频流(m3u8 扩展名)提供特定的 MIME 类型,所以音频播放失败。

在代码中新建 Audio() 时如何指定 MIME 类型?

可以使用 JavaScript 构建与 HTML 相同的结构。

const audio = new Audio();
const source = document.createElement('source');

source.setAttribute('src', 'AUDIO_URL');
source.setAttribute('type', 'application/x-mpegURL');

audio.append(source);
audio.play();