最初の曲を再生しているWebページに1つのiframeが埋め込まれています。このプレイヤーの下には、再生ボタン付きの他の曲のリストがあります。今、再生アイコンのいずれかがクリックされた場合、私はiframeのsrc URLを変更し、この新しい曲を再生したいと思います。soundcloud apiクリックイベントで曲を再生する方法
同じようにするには、ページの上部にjsを使用しています。
<script type="text/javascript" src="https://w.soundcloud.com/player/api.js" ></script>
次に自分自身でjavascriptを使用しています。ドキュメントの準備ができたら、私は次のコードを持っています。何が起こっているかを確認するだけです。
$(document).ready(function() {
var iframeElement = document.querySelector('iframe');
var widget = SC.Widget(iframeElement);
widget.bind(SC.Widget.Events.READY, function() {
console.log('Ready');
widget.bind(SC.Widget.Events.PLAY, function() {
// get information about currently playing sound
widget.getCurrentSound(function (sound) {
console.log(sound.title);
});
});
widget.bind(SC.Widget.Events.FINISH, function() {
console.log('Finished');
});
widget.bind(SC.Widget.Events.PAUSE, function() {
console.log('Paused');
});
});
widget.seekTo(30000);
widget.toggle();
}());
ここで再生アイコンをクリックすると、次の機能が呼び出されます。
function playcurrentpad(curplayurl) {
var iframeElement = document.querySelector('iframe');
var widget = SC.Widget(iframeElement);
widget.pause();
iframeElement.setAttribute('src', curplayurl);
widget.play();
}
上記のコードから、埋め込みiframのsrc URLを変更することができました。しかし、play()はトリガされません。コンソールでは、私は、 'SoundCloud埋め込みプレーヤー(api-web)'という行を取得します。だから、次のコードで何が間違っていますか?