Javascript HTML5/JS选择合适音频源的简单方法是什么?
当您有这样一个简单的音频标签时:Javascript HTML5/JS选择合适音频源的简单方法是什么?,javascript,html,audio,Javascript,Html,Audio,当您有这样一个简单的音频标签时: <audio id="audio45" preload="auto" src="audio.ogg" controls=""></audio> 这将适用于Opera、Firefox、Iceweasel,可能还有Konqueror。但是当你为IE浏览器、Safari等玩得好的时候,你需要更多的资源 <audio id="audio45" preload="auto" controls=""> <source src=
<audio id="audio45" preload="auto" src="audio.ogg" controls=""></audio>
这将适用于Opera、Firefox、Iceweasel,可能还有Konqueror。但是当你为IE浏览器、Safari等玩得好的时候,你需要更多的资源
<audio id="audio45" preload="auto" controls="">
<source src="audio.ogg" type="audio/ogg" />
<source src="audio.mp3" type="audio/mpeg" />
</audio>
但这样,audio45.src仍然是空的。获取当前浏览器为播放机选择的受支持源的简单方法是什么?我正在寻找一种可以编写一次并适用于所有音频动态事件的方法。尝试
document.getElementById('audio45')。currentSrc
。从HTML5规范(草案)开始:
media.currentSrc
返回当前媒体资源的地址
当没有媒体资源时,返回空字符串
currentSrc IDL属性最初是空字符串。其值由下面定义的资源选择算法更改
注意:有两种方法可以指定媒体资源、src属性或源元素。该属性覆盖元素
另请注意:
注意:当源元素已经插入到视频或音频元素中时,动态修改源元素及其属性将无效。要更改正在播放的内容,只需直接使用media元素上的src属性,可以使用canPlayType()方法从可用资源中进行选择。通常,在解析文档后手动操作源元素是一种不必要的复杂方法
这太棒了,正是我需要的!我希望——但我自己并没有发现——它可以这么简单地完成。感谢您详细介绍canPlayType()方法。我想在编写一个可能涉及手动浏览音频DOMs子对象的小检测例程之前,我会问一下。
<audio id="audio45" preload="auto" controls="">
<source src="audio.ogg" type="audio/ogg" />
<source src="audio.mp3" type="audio/mpeg" />
</audio>