Soundcloud oembed 小部件的 onplay、onpause 事件
onplay, onpause event of a Soundcloud oembed widget
我正在尝试使用 souncloud javascript api 来触发嵌入式小部件的 onplay 和 onpause 回调。所以基本上我使用 SC.oembed 到 create/display 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);
}
});
谢谢!
有个很好的例子HERE. SC allows you to attach handlers to many events, as is in the docs 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
});
}());
音频相关事件:
- SC.Widget.Events.LOAD_PROGRESS — 加载声音时定期触发。
- SC.Widget.Events.PLAY_PROGRESS — 播放声音时定期触发。
- SC.Widget.Events.PLAY — 当声音开始播放时触发。
- SC.Widget.Events.PAUSE — 声音暂停时触发。
- SC.Widget.Events.FINISH — 声音结束时触发。
- SC.Widget.Events.SEEK — 当用户搜索时触发。
我正在尝试使用 souncloud javascript api 来触发嵌入式小部件的 onplay 和 onpause 回调。所以基本上我使用 SC.oembed 到 create/display 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);
}
});
谢谢!
有个很好的例子HERE. SC allows you to attach handlers to many events, as is in the docs 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
});
}());
音频相关事件:
- SC.Widget.Events.LOAD_PROGRESS — 加载声音时定期触发。
- SC.Widget.Events.PLAY_PROGRESS — 播放声音时定期触发。
- SC.Widget.Events.PLAY — 当声音开始播放时触发。
- SC.Widget.Events.PAUSE — 声音暂停时触发。
- SC.Widget.Events.FINISH — 声音结束时触发。
- SC.Widget.Events.SEEK — 当用户搜索时触发。