2017-04-12 123 views
0

我有单个嵌入在网页上的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 Embed Player(api-web)'这一行。那么,下面的代码有什么不对?

回答

0

我已经通过在我的音频网址中追加auto_play = true来解决了我自己的问题。这是简单的解决方案,但没有罢工。

相关问题