我有一个简单的程序,我运行这个脚本:
function PlayAudio(Location){
var audio = new Audio(Location);
audio.Play()
}
在onclick HTML属性中。我有一个花哨的装载图片,我知道如何制作出现并成功实现了它。我希望在加载音频时显示此图片,然后在音频文件加载完毕并准备播放后将其删除。现在,点击元素和听到声音之间存在相当大的延迟。
我的麻烦是知道音频何时完成加载并准备播放。我认为最好的方法是知道何时完成加载是在脚本中预加载文件。我不知道该怎么做。
这就是我的问题: 如何在脚本中预加载文件? 或者,有没有办法知道音频文件何时最终播放?
注意:我无法使用<audio>
元素,除非有某种方法可以在<div>
内嵌套<audio>
,以便<audio>
中的声音由<div>
触发点击r1
对于我稍微有点混乱的描述感到抱歉!
谢谢, 卢卡斯N
答案 0 :(得分:0)
您可以使用canplaythrough
事件
当就绪状态更改为
function PlayAudio (Location){ var audio = new Audio; audio.oncanplaythrough = function(event) { // do stuff, e.g.; set loading `img` `style` `display` to `none` this.play(); } audio.src = Location; }
时发送,表示该状态 假设,整个媒体可以不间断地播放 下载率至少保持在当前水平。
read()
答案 1 :(得分:0)
您可以通过
更改其预载attr。 audio.preload =“auto”;
它会在开始时加载整个音频文件