Soundcloud Widget& Events.SEEK

时间:2014-04-03 15:05:36

标签: javascript soundcloud

我正在使用Soundcloud播放器小部件并希望进入SEEK事件。我遇到的问题是e.currentPosition的事件参数显示前一个当前位置 - 而不是我寻找的当前位置。

 widget.bind(SC.Widget.Events.PLAY, function (e) {

                      var test;
                });

如果你在歌曲的测试中设置了一个断点,你可以看到我的意思。是否有可能获得被寻找的位置而不是它开始的位置?

2 个答案:

答案 0 :(得分:0)

有点hacky,但我发现它完成了工作 - 只需暂停小部件并等待它更新到新位置 - 一旦它按照你想要的新位置,继续播放音轨并清除检查间隔。

var oldpos = e.currentPosition;
widget.pause();

var waiter = setInterval(function(){
    widget.getPosition(function(pos){
        if (pos != oldpos){
            // pos is the position that was skipped to.  
            widget.play();
            clearInterval(waiter);
        }
    });
}, 100);

答案 1 :(得分:0)

使用SEEK事件监听器有什么问题?

widget.bind(SC.Widget.Events.SEEK, function(e) {
  alert('New seek position: '+e.currentPosition);
});

这适合我。