【发布时间】:2015-01-29 19:49:43
【问题描述】:
我使用以下代码更改 HTML5 音频元素的来源:
$('#mp3').attr('src', url); // please note that remote URL is used
$("#audio").load();
这里是 HTML:
<audio id="audio" class="hidden">
<source type="audio/mpeg" id="mp3">
</audio>
它在谷歌浏览器、Safari、IE 中运行良好。但是 Firefox 34 返回以下错误:
<source> element has no "src" attribute. Media resource load failed.
这里有什么问题?
更新。我通过等待调用canplaythrough 事件来验证它是否有效。大概是这个问题吧?
我也尝试过删除元素并重新添加它,但它不起作用:
$("#audio").empty();
$("<source>").attr("src", url).attr("type", "audio/mpeg").appendTo("#audio");
$("#audio").load();
【问题讨论】:
-
@Nico,谢谢,但它有帮助,但只有一次 - 音频开始播放,但它不再工作了。将尝试调查发生的事情。
-
@Nico,这种方法只有在我之前手动打开(=下载)文件时才有效。
-
你什么时候运行上面的代码? dom 准备好之后?
-
@uʍopǝpısdn,是的。一旦用户从选择元素中选择了音频。
标签: jquery html firefox html5-audio