Javascript soundcloud html5小部件未触发加载进度事件
我在我的网页上嵌入了一个soundcloud播放器,我想听听几个事件, 尤其是SC.Widget.Events.LOAD\u进度, 但这一个不会被解雇。播放进度正常。 那么为什么LOAD_PROGRESS没有被触发呢Javascript soundcloud html5小部件未触发加载进度事件,javascript,html,soundcloud,Javascript,Html,Soundcloud,我在我的网页上嵌入了一个soundcloud播放器,我想听听几个事件, 尤其是SC.Widget.Events.LOAD\u进度, 但这一个不会被解雇。播放进度正常。 那么为什么LOAD_PROGRESS没有被触发呢 initSC: function () { var self = this; return { play: function (id) { var that =
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
}
问候,,
Phil这是由一个bug引起的,现在已经修复并生效,感谢您的详细报告。请注意,我们支持HTML5音频的范围请求,这意味着我们认为轨道从一开始就满负荷。
对于不支持本机mp3播放的浏览器,如Firefox,我们将退回到后台的Flash实现,它将触发
LOAD\u PROGRESS
事件,直到完全加载。嘿,Phil,你能不能把你认为不适用于JSbin或JSFIDLE之类的代码放进去,以隔离问题?谢谢嗨,我不能很容易地隔离我的代码。但当我在做更多的调查时,我偶然发现了这把小提琴,事件也没有被触发。所以这似乎是一个普遍的问题。有没有可能是一个打字错误(LOAD_PROGRESS:“loadProgres”)导致了没有被解雇?有什么想法吗?非常感谢您的帮助。由于其他原因,我们不得不回滚此部署。我不确定您的回滚是否成功,但我确实收到了很多错误,例如get…chapter=localhost%3A%3Ahttp%3A%2F%2Fapi.soundcloud.com%2fstracks%2F13692671 widget-d06cf92c.js:37 get…这似乎是不相关的。现在一切都好了,这个补丁又上线了。抱歉耽搁了。