使用 Soundcloud 和 wordpress ifram 播放下一首歌曲
play Next song using Soundcloud and wordpress ifram
我有一个由 post 个人 Soundcloud 曲目组成的 WordPress 网站,我需要下一首曲目(在下一首 post 中)在上一首曲目结束时播放,因为我的使用最新 posts.
制作的主页
我试了很多js函数还是不行。
这是我的网站:invisibleradio
我为面临相同问题的人找到了解决方案:
<script type='text/javascript'>
var next_widget ;
var iframes =[];
var its_the_last = false;
(function() {
iframes = document.querySelectorAll('iframe');
//iframe.src = 'http://w.soundcloud.com/player/?url=http://api.soundcloud.com/tracks/43315398&auto_play=true';
for (var i = 0; i < iframes.length; i++) {
//var widget_+i = SC.Widget(iframes[i]);
window['widget_'+i] = SC.Widget(iframes[i]);
var widget = SC.Widget(iframes[i]);
widget.bind(SC.Widget.Events.PLAY, function(eventData) {
//var j = this.name;
// next_widget = window['widget_'+i];
var widget_i = this;
for (var i = 0; i < iframes.length; i++) {
if(SC.Widget(iframes[i]) === widget_i){
if (i+1 >= iframes.length) {
its_the_last = true;
}else{
next_widget = SC.Widget(iframes[i+1]);
}
}else{
console.log('error');
}
};
});
widget.bind(SC.Widget.Events.FINISH, function(eventData) {
if (its_the_last == false) {
next_widget.play();
}
});
};
}());
</script>
我有一个由 post 个人 Soundcloud 曲目组成的 WordPress 网站,我需要下一首曲目(在下一首 post 中)在上一首曲目结束时播放,因为我的使用最新 posts.
制作的主页我试了很多js函数还是不行。
这是我的网站:invisibleradio
我为面临相同问题的人找到了解决方案:
<script type='text/javascript'>
var next_widget ;
var iframes =[];
var its_the_last = false;
(function() {
iframes = document.querySelectorAll('iframe');
//iframe.src = 'http://w.soundcloud.com/player/?url=http://api.soundcloud.com/tracks/43315398&auto_play=true';
for (var i = 0; i < iframes.length; i++) {
//var widget_+i = SC.Widget(iframes[i]);
window['widget_'+i] = SC.Widget(iframes[i]);
var widget = SC.Widget(iframes[i]);
widget.bind(SC.Widget.Events.PLAY, function(eventData) {
//var j = this.name;
// next_widget = window['widget_'+i];
var widget_i = this;
for (var i = 0; i < iframes.length; i++) {
if(SC.Widget(iframes[i]) === widget_i){
if (i+1 >= iframes.length) {
its_the_last = true;
}else{
next_widget = SC.Widget(iframes[i+1]);
}
}else{
console.log('error');
}
};
});
widget.bind(SC.Widget.Events.FINISH, function(eventData) {
if (its_the_last == false) {
next_widget.play();
}
});
};
}());
</script>