jquery - 通过 jQuery 更改源后 html 音频找不到文件

标签 jquery html audio

我的 .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">

但在这种情况下它不播放音频,给我错误:

Invalid URI. Load of media resource failed. @ file:///home/index.html

All candidate resources failed to load. Media load paused. @ file:///home/index.html

该文件位于文件夹中,知道为什么它不起作用吗?两种情况下的 html(其源代码)是相同的。

最佳答案

试试这个:

$("#capt_wav").attr("src", "doghouse.wav").detach().appendTo("#captcha");

浏览器似乎只在添加元素时播放文件,而不是在刚刚修改元素时播放文件。

关于jquery - 通过 jQuery 更改源后 html 音频找不到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17300640/

相关文章:

audio - 使用UWP监控实时音频并检测枪声/拍手声

javascript - 提交按钮和 jQuery

javascript - 插值 i18next

javascript - "... is not a function"错误

javascript - 如何控制图像的缩放

html - 将鼠标悬停在图像上时显示 div

c++ - 简单的 C++ 声音 API

javascript - 使用 jQuery .append 更改元素背景颜色

javascript - 添加 HTML 元素作为 document.documentElement 的直接子元素有什么问题吗?

android - 在 Android 的 Facebook 帖子中命名音频文件的问题