通过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音频找不到文件的主要内容,如果未能解决你的问题,请参考以下文章

找不到QT的头文件怎么办?

vscode下运行c++找不到头文件是怎么回事

HTML 音频 src 用 jQuery 更改,但以前的文件在 FF 和 Chrome 中播放

使用 Jquery 停止音频标签 HTML5

MAC 安装 pygraphviz 找不到头文件

vc++编程找不到头文件。。。急求解决方法。。