Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
设置Javascript音频对象的MIME类型_Javascript_Audio_Html5 Audio - Fatal编程技术网

设置Javascript音频对象的MIME类型

设置Javascript音频对象的MIME类型,javascript,audio,html5-audio,Javascript,Audio,Html5 Audio,为了支持HTML5音频标签上的HLS音频流,我们可以成功使用以下MIME类型: <audio autoplay> <source src="AUDIO_URL" type="application/x-mpegURL"> </audio> 但是,如果以编程方式创建audio元素,则似乎无法指定MIME类型。因为我无法为HLS音频流m3u8扩展提供特定的MIME类型,所以音频播放失败 在代码中创建新的音频时,如何指定MIME类型?可以使用JavaScr

为了支持HTML5音频标签上的HLS音频流,我们可以成功使用以下MIME类型:

<audio autoplay>
    <source src="AUDIO_URL" type="application/x-mpegURL">
</audio>
但是,如果以编程方式创建audio元素,则似乎无法指定MIME类型。因为我无法为HLS音频流m3u8扩展提供特定的MIME类型,所以音频播放失败


在代码中创建新的音频时,如何指定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();

这很有效,谢谢。但我想它告诉我的是音频完全依赖于源来定义MIME类型,并且没有其他方法不需要子元素。现在我只需要弄清楚如何交换源元素,以便在多个实时音频流之间切换。