首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按顺序预加载html5音频

按顺序预加载html5音频
EN

Stack Overflow用户
提问于 2015-01-28 23:07:48
回答 1查看 619关注 0票数 1

我有一个歌曲列表,当用户单击一个按钮时,我想要播放的歌曲,但似乎所有的歌曲都试图同时加载,所以它需要一段时间才能加载。如果我把页面打开大约5分钟,音乐最终就会播放,但我希望它不用等待5分钟。因此,是否有一种方法可以强制Song1自己完全加载,然后让Song2自己加载,等等。

Jquery:

代码语言:javascript
复制
$(document).ready(function(){
    var x = $(".audio-player").length;
    var z = 0;

    $("#play").click(function(){
        $(".audio-player")[z].play();
    });
    $("#pause").click(function(){
        $(".audio-player")[z].pause();
    });
    $("#skip").click(function(){
        $(".audio-player")[z].pause();
        z++;
        if (z >= x) z = 0;
        $(".audio-player")[z].play();
        $(".audio-player")[z].currentTime = 0;
    });
});

代码语言:javascript
复制
<p id="play">Play</p>
<p id="pause">Pause</p>
<p id="skip">Next</p>

<audio class="audio-player" src="https://dl.dropboxusercontent.com/u/64455636/tumblr/music/1/Apollo.mp3"></audio>
<audio class="audio-player" src="https://dl.dropboxusercontent.com/u/64455636/tumblr/music/1/Daydreamer.mp3"></audio>
<audio class="audio-player" src="https://dl.dropboxusercontent.com/u/64455636/tumblr/music/1/Delayed%20Friend%20Request.mp3"></audio>

JSfiddle

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-28 23:34:06

你只需要一个音频标签,而不是3个。当用户按下play键时,您也可以动态地从一个数组加载音频--所以在页面加载时不需要加载任何音频。

我在这里更新了你的小提琴,让你知道它的作用:http://jsfiddle.net/g8vduvaf/6/

您可以动态加载音频,如下所示:

代码语言:javascript
复制
var audioFiles = ["url","url2","url3"];

var z = 0;
var audioPlayer = $("#audioPlayer")[0];

var playAudio = function(){
   audioPlayer.src = audioFiles[z];
   audioPlayer.load();
   audioPlayer.play();    
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28204152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档