我试图使用souncloud javascript api来触发oembeded小部件的onplay和onpause回调。所以基本上我使用SC.oembed在div中创建/显示小部件,然后我想使用SC.stream来控制soundmanager 2选项,但这似乎不可能。
我想要做的就是当有人按下小部件上的游戏时,以及当有人按下暂停时调用一个函数。
实现这一结果的最佳方法是什么?
更新 这是一个代码段
//set up soundcloud gallery
SC.initialize({
client_id: 'MY_CLIENT_ID'
});
SC.get('/users/MY_USER/tracks', function(tracks) {
$('#tracks_holder').addClass('scrollY').empty()
for (var i = 0; i < tracks.length; i++) {
console.log(tracks[i].title);
var newTrack = $('<div class="scTrack"></div>')[0];
SC.oEmbed(tracks[i].permalink_url, {maxheight:"200px"}, newTrack);
$('#tracks_holder').append(newTrack);
}
});
谢谢!
答案 0 :(得分:2)
有一个很好的例子 HERE 。 SC允许您将处理程序附加到许多事件,如文档 HERE
(function(){
var widgetIframe = document.getElementById('sc-widget'),
widget = SC.Widget(widgetIframe);
widget.bind(SC.Widget.Events.READY, function() {
widget.bind(SC.Widget.Events.PLAY, function() {
// get information about currently playing sound
widget.getCurrentSound(function(currentSound) {
console.log('sound ' + currentSound.get('') + 'began to play');
});
});
// get current level of volume
widget.getVolume(function(volume) {
console.log('current volume value is ' + volume);
});
// set new volume level
widget.setVolume(50);
// get the value of the current position
});
}());
音频相关事件: