2017-04-12 15 views
0

最初の曲を再生している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)'という行を取得します。だから、次のコードで何が間違っていますか?

答えて

0

私はオーディオURLにauto_play = trueを追加するだけで問題を解決しました。それは簡単な解決策でしたが、ストライキはありませんでした。

関連する問題