通过jQuery更改源后html音频找不到文件
Posted
技术标签:
【中文标题】通过jQuery更改源后html音频找不到文件【英文标题】:html audio cannot find file after changing source through jQuery 【发布时间】:2013-06-25 14:52:17 【问题描述】:我的 .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(其源代码)是相同的。
【问题讨论】:
修改源文件后有没有查看src属性的值? 是的,这就是您在“之后”中看到的内容。我前后打印了控制台输出。 【参考方案1】:试试这个:
$("#capt_wav").attr("src", "doghouse.wav").detach().appendTo("#captcha");
似乎浏览器只在添加元素时播放文件,而不是在刚刚修改时播放文件。
【讨论】:
以上是关于通过jQuery更改源后html音频找不到文件的主要内容,如果未能解决你的问题,请参考以下文章