我正在使用(隐藏width: 0;
)jPlayer间歇性地播放许多短声音文件。
我会在必要时使用.jPlayer("clearMedia")
和.jPlayer("setMedia")
来切换声音文件。
但是,这意味着该文件仅在播放时加载。这导致了显着的延迟。我确实知道,一旦文件被加载,它们就会被缓存,并会在稍后再次提示时立即播放。
有没有办法加载这些音频文件(每个都在ogg和m4a中提供)onload而不自动播放它们,并且以这种方式jPlayer以后可以使用该缓存?我有一个声音文件的完整JS数组列表。
答案 0 :(得分:4)
您可以使用多个jPlayers。为每个声音文件创建一个div,然后为每个声音文件分配一个jPlayer。就像是: HTML:
<div id="sound1" class="audio" path="audiourl1"></div>
<div id="sound2" class="audio" path="audiourl2"></div>
和Javascript / Jquery
$(".audio").each(function(){
var $this = $(this);
var path = $this.attr("path");
$this.jPlayer({
ready: function () {
$(this).jPlayer("setMedia", {
m4a: "/mp3/"+path+".m4a", // Defines the m4a (AAC) url
oga: "/ogg/"+path+".ogg" // Defines the counterpart oga url
});
},
supplied: "m4a, oga",
swfPath: "/jPlayer/js"
});
});