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