我的.html文件中有这个音频元素:
<audio id ="captcha"> <source id = "capt_wav" src = "doghouse.wav" type = "audio/wav" > </audio>
它播放音频。现在我需要使用jQuery动态更改src属性。 然后我将原始的html音频设置为没有源(src =“”),并使用此jQuery代码设置源:
$('#capt_wav').attr('src',"doghouse.wav");
这实际上改变了源代码,我可以从控制台看到:
之前:
<source id="capt_wav" src="" type="audio/wav">
在:
<source id="capt_wav" src="doghouse.wav" type="audio/wav">
但在这种情况下它不播放音频,给我错误:
无效的URI。媒体资源的加载失败。 @ file:///home/index.html
所有候选资源都未能加载。媒体加载暂停。 @ file:///home/index.html
该文件在文件夹中,任何想法为什么它不起作用? html(它的来源)在两种情况下都是相同的。
答案 0 :(得分:5)
请改为尝试:
$("#capt_wav").attr("src", "doghouse.wav").detach().appendTo("#captcha");
浏览器似乎只在添加元素时播放文件,而不是仅在修改元素时播放。