2015-09-07 60 views
0

我用SoundCloud API創建了自己的音樂播放器,並且桌面上的一切都正常工作。但是,由於某種原因,在音樂播放器實際啓動之前,手機上的播放按鈕至少需要點擊三次。任何想法我做錯了什麼?爲什麼SoundCloud API不會響應,直到我在手機上點擊三次?

下面是我的jQuery代碼。我的音樂播放器是一個JS對象,這是該劇方法:

//<-- PLAY TRACK --> 
this.playTrack = function(track, number) { 

    var that = this; 

    SC.stream("/tracks/" + track, {onfinish: function() { 
     that.onFinish(number); 
    }}, 

    function (sound) { 
     that.stream = sound; 
     that.currentTrack = track; 

     var trackName = $(that.track_links[number]).html(); 
     trackName = trackName.replace(/\d.\s/, ""); 
     that.player.find(".current-track").css("display", "block"); 
     that.player.find(".current-track").children("p").html(trackName); 

     sound.play({ 
      whileplaying: function() { 
       that.player.find(".progress").css('width', ((sound.position/sound.duration) * 100) + '%'); 
       that.player.find(".playtime").html(that.minutesAndSeconds(sound.position)); 
      }, 
     }); 

     that.updateProgress(sound); 

    that.playing = true; 
    }); 
} 
+0

任何人遇到同樣的問題?這很奇怪...... –

回答

-1

我是有這個問題,以及 - 一切都在桌面上工作正常,但是,玩家走上試圖在移動它會玩了。我在控制檯中注意到了這一點:

Failed to execute 'play' on 'HTMLMediaElement': API can only be initiated by a user gesture. 

該劇實際上是由點擊開始 - 所以我不知道爲什麼SoundManager類是阻止它這樣。我的解決方案是,當用戶點擊一個元素時啓動最初的「播放」事件 - 在我的情況下,就是讓玩家進入視圖的元素。我仍然得到錯誤 - 但是,下一次點擊正常。

+0

你的意思是說,當用戶點擊以使玩家進入視野時,你會觸發播放功能(或方法)嗎? 如果這是一個是的,我有一個問題,因爲我的SC播放器已經在頁面加載時查看。 –

相關問題