当 SoundCloud HTML5 Player Widget 加载autoplay
选项时,play
在曲目开始时不会触发事件。但是,在加载小部件(或将其他 URL 加载到小部件中)和轨道开始时之间存在超时,因此调用事件是一个不错的小部件。
这是设计使然还是需要解决的问题?
当 SoundCloud HTML5 Player Widget 加载autoplay
选项时,play
在曲目开始时不会触发事件。但是,在加载小部件(或将其他 URL 加载到小部件中)和轨道开始时之间存在超时,因此调用事件是一个不错的小部件。
这是设计使然还是需要解决的问题?
当使用 auto_play 选项时,HTML5 Player 小部件应触发 SC.Widget.Events.PLAY 事件。这是我用来验证的代码片段:
HTML:
<!doctype html>
<html>
<head>
<title>Widget Demo</title>
<style type="text/css">
iframe {
display:block;
border:0;
margin-bottom: 20px;
height: 365px;
}
</style>
</head>
<body>
<iframe id="widget" width="100%"></iframe>
</body>
<script src="http://w.soundcloud.com/player/api.js"></script>
<script src="script.js"></script>
</html>
JavaScript(script.js 的内容):
(function() {
var iframe = document.querySelector('#widget');
iframe.src = 'http://w.soundcloud.com/player/?url=http://api.soundcloud.com/tracks/43315398&auto_play=true';
var widget = SC.Widget(iframe);
widget.bind(SC.Widget.Events.PLAY, function(eventData) {
alert('Playing...');
});
}());
您可以在 jsfiddle 上查看一个工作示例。