-1

我正在为 html 使用buzz.js 库。我有一个 HTML 列表元素,其中每个列表元素都有一个特定的音频。我想在列表的单击事件以及下一个和上一个按钮上播放音频。所以我为此编写了下面的代码,它适用于桌面浏览器。当我在移动 safari (ipad1) 上对其进行测试时。当我第二次播放音频时,它从上次停止的位置开始。我想从头开始音频。

$(document).ready(function(){   
var mainIntro = new buzz.sound( "audio/intro", {formats: [ "ogg", "mp3", "aac" ], preload: true, autoplay: true, loop: false});
var slide1 = new buzz.sound( "audio/slide1", {formats: [ "ogg", "mp3", "aac" ], preload: true, autoplay: true, loop: false});
function introAudio() {
    buzz.all().stop();          
    mainIntro.play().bind('ended', function(e){
        document.getElementById("blinkRed").style.visibility="visible";
    }); 
}
function slide1Audio() {
    buzz.all().stop();  
    slide1.play().bind('ended', function(e){
        document.getElementById("blinkRed").style.visibility="visible";
    });     
}
$('#navHolder ul li a').click(function() {

    if (myIndex == -1){ 
        $('#slideHolder').attr('src',"introMain.html");         
        myIndex = -1;
        introAudio();

    }       
    else if (myIndex == 0){
        $('#slideHolder').attr('src',"intro.html");
        myIndex = 0;
        slide1Audio();
    }
else if (myIndex == 1){

    }
});
4

1 回答 1

0

我知道这是旧的,但它出现在谷歌搜索中,所以我想我会回答。

我之前遇到过类似的问题,要解决它,您必须添加一行代码。它似乎只发生在基于 WebKit 的浏览器中。

添加:

    mySound.load();

这将重新加载音频文件并从头开始。

于 2014-08-24T20:42:32.510 回答