我的html中有一个音频标签,其中我有src =""。 当我播放音乐时,我从javascript更改src值。 但是,在加载页面时,我收到错误
无效的URI。媒体资源的加载失败。 game.php 所有候选资源都无法加载。媒体加载暂停。
我知道为什么,源逻辑上不存在。有没有办法告诉音频元素不要尝试从头开始加载src?
<div style="display: none;" >
<audio tabindex="0" id="audio" controls preload="auto" loop="true">
<source src="">
</audio>
</div>
由于
答案 0 :(得分:2)
从初始html中删除<source>
,然后......
var a = new Audio('someaudio.mp3');
// File does not exist
a.onerror = function() {
//nothing
};
//File exists
a.onloadeddata = function() {
//add source from javascript
};
答案 1 :(得分:2)
只需创建<audio>
元素,不用任何<source>
,例如
<audio tabindex="0" id="audio" controls preload="auto" loop="true">
</audio>
然后在运行时,在需要/检查/验证时添加<source>
,例如:
var audio = document.getElementsByTagName('audio')[0];
var source = document.createElement('src');console.log(source);
source.setAttribute('src','http://somewhere');
audio.appendChild(source);