如果你有一个简单的无知音频标签,那么:
<audio id="audio45" preload="auto" src="audio.ogg" controls=""></audio>
您可以像这样复制源播放:
var playback = new Audio();
playback.src = document.getElementById('audio45').src;
playback.load();
playback.play();
这适用于Opera,Firefox,Iceweasel,可能是Konqueror。但是当为Internet Explorer,Safari等玩得很好时,你需要更多的资源。
<audio id="audio45" preload="auto" controls="">
<source src="audio.ogg" type="audio/ogg" />
<source src="audio.mp3" type="audio/mpeg" />
</audio>
但是这样, audio45.src 仍为空。获取当前浏览器为播放器选择的受支持源的简单方法是什么?我正在寻找一种可以写一次的方法,适用于 audio 的所有动态出现。
答案 0 :(得分:2)
试试document.getElementById('audio45').currentSrc
。截至(草案)HTML5规范:
media.currentSrc
返回当前媒体资源的地址。
当没有媒体资源时返回空字符串。
currentSrc IDL属性最初是空字符串。它的值由下面定义的资源选择算法改变。
注意:有两种方法可以指定媒体资源,src属性或源元素。该属性会覆盖元素。
http://dev.w3.org/html5/spec/Overview.html#attr-media-src
另请注意:
注意:当元素已插入视频或音频元素时,动态修改源元素及其属性将不起作用。要更改正在播放的内容,只需直接在媒体元素上使用src属性,可能会使用canPlayType()方法从可用资源中进行选择。通常,在解析文档之后手动操作源元素是一种不经常复杂的方法。
http://dev.w3.org/html5/spec/Overview.html#the-source-element