SoundCloud Javascript SDK 2.0-whileplaying事件
我正在使用SoundCloudJavaScript SDK。最近,2.0 SDK发布了,似乎不再有“whileplay”事件。在下面的代码中,“whileplaying”处理程序永远不会执行SoundCloud Javascript SDK 2.0-whileplaying事件,javascript,soundcloud,Javascript,Soundcloud,我正在使用SoundCloudJavaScript SDK。最近,2.0 SDK发布了,似乎不再有“whileplay”事件。在下面的代码中,“whileplaying”处理程序永远不会执行 SC.stream(sound_id, function(sound) { sound.play({ whileplaying: function() { console.log('whileplaying'); } }) ); 我做错什么了吗?如果这是从SDK中删除的,
SC.stream(sound_id, function(sound) {
sound.play({
whileplaying: function() { console.log('whileplaying'); }
})
);
我做错什么了吗?如果这是从SDK中删除的,有解决办法吗?我正在为我的站点准备一个Soundcloud音频播放器,这证明是一个令人头痛的问题:Soundcloud尚未发布js SDK v2的任何文档,并且它不再使用soundManager,因此流式音频对象完全不同 在文档可用于澄清情况之前,您可以使用setInterval或requestAnimationFrame polyfill调用音频对象的方法(),并将其存储在全局变量中,以便您可以从其他函数访问它: 使用setInterval 然后使用暂停或停止按钮的任何处理程序:
scTrack.pause();
clearInterval(updater);
使用requestAnimationFrame
(此处提供Polyfill:)
对于暂停/停止处理程序:
scTrack.pause();
cancelAnimationFrame(updater);
// This hasn't always cleared the animation request for me so I also set the loop variable to undefined:
updater = undefined;
我相信有更好的方法可以做到这一点,但它目前仍然有效——希望即将发布的文档能够将其清除。通过查看未混淆的JS文件(API本身和soundmanager文件),您可以找到您要查找的事件 例如:
sound._player.on("stateChange", function(state) {
console.log(state);
});
或:
我已经快速测试了HTML5和Flash曲目
scTrack.pause();
cancelAnimationFrame(updater);
// This hasn't always cleared the animation request for me so I also set the loop variable to undefined:
updater = undefined;
sound._player.on("stateChange", function(state) {
console.log(state);
});
sound._player.on("positionChange", function(position) {
console.log(position);
});