我目前正在修改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);
}
}
最佳答案
交换图像后,只需在playBg()方法内调用playAudio()方法即可。
关于javascript - 尝试将一个JavaScript事件链接到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17822251/