正在预加载jPlayer要使用的音频文件

Preloading audio files to be used by jPlayer

本文关键字:音频 文件 加载 jPlayer      更新时间:2023-09-26

我正在使用(被width: 0;隐藏的)jPlayer间歇性播放许多简短的声音文件。

每当需要时,我都会使用.jPlayer("clearMedia").jPlayer("setMedia")在声音文件之间切换。

但是,这意味着该文件仅在播放时加载。这会导致显著的延迟。不过我知道,一旦加载了文件,它们就会被缓存,并且在稍后再次提示时会立即播放。

有没有一种方法可以在不自动播放的情况下加载这些音频文件(每个文件都在ogg和m4a中提供),并且让jPlayer稍后能够使用该缓存?我有一个完整的JS数组列表的声音文件。

您可以使用多个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"
    });
});