我在我的頁面上嵌入了一個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
}
問候, 菲爾
嘿菲爾,你可以請把你認爲不工作在JSbin或JSfiddle或類似的代碼,以便隔離問題嗎?謝謝! –
嗨,我不能很容易地隔離我的代碼。但是當我正在做更多的調查時,我偶然發現了這個小提琴http://jsfiddle.net/Gyuzz/10/,那裏的事件也沒有被解僱。所以這似乎是一個普遍的問題.. – dc10
可能有一個錯字(LOAD_PROGRESS:「loadProgres」),loadprogres只有一個s,在https://w.soundcloud.com/player/api.js中負責不被解僱? – dc10