2013-10-15 44 views
0

我在我的頁面上嵌入了一個soundcloud播放器,並且我想要聽幾個事件,特別是SC.Widget.Events.LOAD_PROGRESS, ,但是這個並不會被觸發。 PLAY_PROGRESS工作正常。 那麼爲什麼LOAD_PROGRESS不會被解僱呢?soundcloud html5小部件不會觸發加載進度事件

initSC: function() { 
      var self = this; 
      return { 
       play: function (id) { 
        var that = this; 
        if(this.player === null){ 
        var iframeElement = document.querySelector('iframe'); 
        this.player = SC.Widget(iframeElement); 
        } 
        if(self.sid === id && this.player !=null){ 
         this.player.play(); 

        }else{ 
         var uri = "http://api.soundcloud.com/tracks/" + id; 

         this.player.load(uri, { callback: function() { 
          self.sid= id; 
          self.provider = "sc"; 
          that.player.play(); 
          that.player.getDuration(function (durationSC) { 
           self.duration = parseInt(durationSC) /1000; 

           self.setDuration(App.UTIL.millisecondsToMMss(durationSC)); 
          }); 


          that.player.bind(SC.Widget.Events.PLAY, function() { 
           self.playerState = PLAYER_STATES.PLAYING; 
           console.log("sc starts playing"); 
          }); 

          that.player.bind(SC.Widget.Events.PLAY_PROGRESS, function (e) { 
           //currentPosition: 0 
           //loadedProgress: 0 
           //relativePosition: 0 
           self.setElapsedTime(App.UTIL.millisecondsToMMss(e.currentPosition)); 
           self.setProgress(e.currentPosition/1000); 
          }); 


         }}); 
         that.player.bind(SC.Widget.Events.LOAD_PROGRESS, function (e) { 
          log(e); 
         }); 


        } 




       }, 
       player: null 
      } 

問候, 菲爾

+0

嘿菲爾,你可以請把你認爲不工作在JSbin或JSfiddle或類似的代碼,以便隔離問題嗎?謝謝! –

+0

嗨,我不能很容易地隔離我的代碼。但是當我正在做更多的調查時,我偶然發現了這個小提琴http://jsfiddle.net/Gyuzz/10/,那裏的事件也沒有被解僱。所以這似乎是一個普遍的問題.. – dc10

+0

可能有一個錯字(LOAD_PROGRESS:「loadProgres」),loadprogres只有一個s,在https://w.soundcloud.com/player/api.js中負責不被解僱? – dc10

回答

0

這是由錯誤引起的,現在固定和生活,感謝您的詳細報告。請注意,我們支持HTML5音頻的範圍請求,這意味着我們認爲該軌道從一開始就被完全加載。

對於不支持本地mp3播放的瀏覽器,如Firefox,我們將在後臺回退到Flash實現,這將觸發LOAD_PROGRESS事件直到完全加載。

+0

由於其他原因,我們必須回滾此部署。當它再次生活時會回覆你。 – por

+0

我不確定您的回滾是否成功,但確實遇到很多錯誤 GET https://eventlogger.soundcloud.com/pageview?anonymous_id=119516-74329-20844...chapter=localhost%3A%3Ahttp%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F13692671 widget-d06cf92c.js: 37 GET https://eventlogger.soundcloud.com/pageview?anonymous_id=119516-74329-20844... – dc10

+0

這似乎是不相關的東西。現在一切都很好,而且這個修復程序再次生效。抱歉耽擱了。 – por