首先,我是一个菜鸟。
好的,我已将SoundCloud轨道嵌入到我的网页中。我的问题是,当曲目结束时你如何刷新页面(或做任何其他事情)?
你可以用getDuration(我在SoundCloud API页面上找到它)吗?
我试着编码。在代码中,我试图获取轨道的持续时间,然后将其打印在屏幕/网页上。这段代码有什么问题?
<script src="https://w.soundcloud.com/player/api.js" type="text/javascript"></script>
<span id="headerLeft-content">
<script type="text/javascript">
var duration = 0;
(function(){
var widgetIframe = document.getElementById('sc-widget'),
widget = SC.Widget(widgetIframe);
widget.bind(SC.Widget.Events.READY, function() {
widget.getDuration(function(val) {
duration = val;
});
});
}());
document.write(duration);
</script>
</span>
如果有效,我会把等待(持续时间),然后刷新......
换句话说,即使原始小部件不支持循环,也可以将soundcloud嵌入式轨道“黑客”循环(或者在轨道结束后刷新页面,这就是我想要做的事情)?
请看看SoundCloud html5小部件页面,在那里我找到了getDuration命令,看看你是否可以帮助我... =&gt; http://developers.soundcloud.com/docs/api/html5-widget#getters
编辑:
<script>
var html=<iframe blablabla...></iframe>
document.write(html);
</script>
<script src="https://w.soundcloud.com/player/api.js" type="text/javascript"></script>
<script type="text/javascript">
(function(){
var widgetIframe = document.getElementById('sc-widget'),
widget = SC.Widget(widgetIframe),
widget.bind(SC.Widget.FINISH, function() {
window.location.reload(false);
});
}());
</script>
曲目结束后页面不会刷新。你能看出什么是错的吗?
答案 0 :(得分:1)
您可以将函数绑定到SC.Widget.FINISH
事件documented here。以下代码段应该有效:
widget.bind(SC.Widget.FINISH, function() {
window.location.reload(false);
});
当然,如果您只想让小部件循环播放,您可以使用seekTo
和play
方法:
widget.bind(SC.Widget.FINISH, function() {
// again, again!
widget.seekTo(0);
widget.play();
});
这比页面刷新更少侵入。
答案 1 :(得分:0)
widget.bind(SC.Widget.Event.FINISH, function() {
widget.seekTo(0);
widget.play();
});
在另一个回复中,第一个参数缺少“.Event”。
答案 2 :(得分:0)
最后。一个真正有效的版本。
GameObject decal = Instantiate(prefab, col.contacts[0].point, Quaternion.Euler(col.contacts[0].normal));
DecalDynamic.BuildDecal(decal.GetComponent<Decal>());