javascript - 尝试将一个JavaScript事件链接到另一个

标签 javascript html audio slideshow

我目前正在修改iPad的网络应用。我正在尝试将音频配乐附加到图像幻灯片。当前,当用户单击幻灯片导航控件时,我正在播放音频文件,但是似乎无法弄清楚在自动启动幻灯片后如何播放音频。

当main.js文件中的nextBg()函数从当前背景图像移至下一个背景图像时,我希望它播放列表中的下一个音频文件。播放功能为:playAudio()。我该怎么做呢?

我当前使用的代码和文件是:

function nextBg() {
    if(bgRunning) return false;
    clearInterval(bgTimer);
    if(!$('#bgImages li.active').is(':last-child'))
        $('#bgImages li.active').removeClass('active').next().addClass('active');
    else
        $('#bgImages li.active').removeClass('active').parent().find('li:first-child').addClass('active');
    runBg();
}

function playAudio(path){
    if(audioSupport){
        var isPlaying = !myAudio.paused;
        var canPlayMp3 = !!myAudio.canPlayType && "" != myAudio.canPlayType('audio/mpeg');
        var canPlayOgg = !!myAudio.canPlayType && "" != myAudio.canPlayType('audio/ogg; codecs="vorbis"');
        if(canPlayMp3)
            myAudio.src = path+'.mp3';
        else if(canPlayOgg)
            myAudio.src = path+'.ogg';


        myAudio.removeEventListener('ended', arguments.callee, false);
        myAudio.addEventListener('ended', audioAddEndedListener , false);

        if(autoPlay || isPlaying)
        {
            myAudio.play();
            $('#audioControls .pause').css('display','block');
            $('#audioControls .play').css('display','none');
        }else{
            $('#audioControls .play').css('display','block');
            $('#audioControls .pause').css('display','none');
        }
    }
}

function audioAddEndedListener() 
{
    if(loop){
    this.currentTime = 0;
    this.play();
    }else{
        this.removeEventListener('ended', arguments.callee, false);
        setNextAudio();
        path = $('#audioList li.active').html();
        playAudio(path);
        myAudio.addEventListener('ended', audioAddEndedListener, false);
    }
}
  • http://platinum.megatron.co.nz/main.js
  • http://platinum.megatron.co.nz/kitchen/video.html
  • 最佳答案

    交换图像后,只需在playBg()方法内调用playAudio()方法即可。

    关于javascript - 尝试将一个JavaScript事件链接到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17822251/

    相关文章:

    javascript - 静默的javascript错误

    javascript - 动态加载的元素没有在下拉列表中第二次显示(Harvest Hq Chosen)

    javascript - 是否有类似于 Google Hangouts 的开源技术?

    flash - 闪光灯上的音量按钮

    Java 播放音频抛出 IOException

    javascript - angularjs捕获音频并上传文件

    javascript - 如何让 child 影响 React 中的 parent ?

    php - 如何为 html 和 php 使用外部 css 样式表

    html - 如何将父div中的元素居中, float 元素向右

    javascript - React上传文件到laravel服务器错误