SoundCloud HTML5 iFrame ウィジェットを使用しており、終了時にイベントをトリガーしようとしています。曲が初めて終了すると、イベントがトリガーされます。しかし、finish イベントがトリガーされた後に別の曲を同じ方法で再生すると、FINISH イベントが 2 回トリガーされません。
これは基本的に次のような問題と同じです: Soundcloud HTML5 Player: Events.FINISH は 1 回だけ発生します。
私の場合は、すでにparentWindow呼び出しなしで新しいapi.jsを使用しています。
API.js を使用しています: http://w.soundcloud.com/player/api.js
私のページには次のような iframe があります。
曲を再生すると、次のようにイベントが添付されます。
var widgetIframe = document.getElementById('soundcloud-container'),
widget = SC.Widget(widgetIframe);
widget.bind(SC.Widget.Events.FINISH, function(player, data) {
console.log('finished');
playNextTrack();
});
playNextTrack() メソッドでは、同じコードを実行してイベントを再度アタッチします。しかし、今ではもうトリガーされていません。playNextTrack 内の他のすべてのコードは期待どおりに実行されますが、SC.Widget.Events.FINISH はそうではありません。コンソールにもエラー メッセージは表示されません。
私が間違っているかもしれないことを誰かが知っていますか?