0
我目前正在修改iPad的網絡應用程序。我正在嘗試將音頻音軌附加到圖像幻燈片上。當用戶點擊幻燈片導航控件時,我目前有音頻文件正在播放,但我似乎無法弄清楚如何在幻燈片自動啓動時播放音頻。試圖鏈接一個JavaScript事件到另一個
當我的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(){ \t clearInterval(bgTimer); \t $('#bgControl .play')。hide(); \t $('#bgControl .pause')。show(); \t path = $('#audioList li.active')。html(); \t playAudio(path); \t bgPaused = false; \t if(activePlayer =='youtube') \t \t ytplayer.playVideo(); (activeplayer =='vimeo') \t else if(activePlayer =='vimeo') \t \t $ f(vmplayer).api('play'); \t else \t \t nextBg(); }' 這是你的意思嗎?音頻在轉換時不會改變。 –
根據我在代碼中看到的內容,您需要在每次新調用時將下一個路徑傳遞給您的playAudio()方法。最簡單的方法是將音頻文件編號並在每次調用playAudio()方法時增加編號。例如,如果你的路徑是「音樂/文件」,在playAudio()方法的開頭(假設你有5個不同的音頻文件,並且你有一個名爲「count」的計數器變量),你可以把: if(count <5) ++ count; else count = 1; then: path =「music/file」+ count; – P4T4R