加载声音文件暂停,然后在几秒钟后开始播放
Load sound file paused and then start to play after a number of seconds
我使用setTimeout在8秒后播放音频文件:
setTimeout(function() {
document.getElementById('delayed_play').style.display = 'block';
}, 8 * 1000);
<div id="delayed_play">
问题是,我需要它正好在这8秒后开始,而不是文件开始加载,并根据连接速度需要不同的时间。
是否有办法使文件加载暂停,并告诉它开始在8秒?
这是带有脚本其余部分的音频文件:
<script type="text/javascript">
document.getElementById('delayed_play').style.display = 'none';
</script>
<object height="0" width="40%">
<embed allowscriptaccess="always" height="0" src="http://player.soundcloud.com/player.swf?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F14151193%3Fsecret_token%3Ds-OVmfN&show_comments=false&auto_play=true&color=ff7700" type="application/x-shockwave-flash" width="100%"></embed>
</object>
谢谢
我不熟悉API,但这里是我想尝试的:
- 加载播放器与页面,但禁用自动播放(应该有一个参数在URL,我猜)
- 为页面加载事件设置一个计时器,该事件执行一个函数,该函数调用适当的API函数来启动播放器。
这需要API的知识,应该在网站上有一个文档。
播放器的文档可以在http://developers.soundcloud.com/docs/widget找到。
SoundCloud Player可通过URL参数定制,并可通过JavaScript API编写脚本。
感兴趣的参数是auto_play,它可以禁用声音的自动播放。
您可以按照"Widget方法"一节中的描述操作播放器:
api_play() Player从0开始播放或从最后暂停的轨道位置开始播放。如果小部件包含多个音轨,它将开始播放第一个音轨。
你可以将你的代码与'事件类型'一节中描述的各种事件挂钩。
onPlayerReady当小部件加载数据并准备接受外部调用时触发。每个小部件实例只触发一次。
onMediaBuffering在小部件仍在缓冲时触发。data(第二个参数)包含属性 % 。这也意味着你还不能在轨道中完全查找
您必须测试缓冲行为以了解如何设置事件侦听器。您可能还需要使用onMediaDoneBuffering事件。
相关文章:
- 你能用sound.js在播放声音文件后5秒执行一个动作吗
- 10秒后停止自动播放-环岛
- 如何添加额外的后退30秒按钮到这个jQuery mp3播放器
- 淡入淡出每隔几秒就会发生变化的图像
- Youtube播放了秒数
- 如何使用vanillaJS将mp4视频插入到具有特定维度的html文档中,播放2秒,然后删除节点
- 如何在页面加载 10 秒后自动播放 YouTube 视频
- 在画布上显示字符串仅显示几分之一秒
- JS自动播放,但有5秒的延迟
- 获取 timeOut() 以每秒从数组中播放一首歌曲
- 使用 JavaScript 一个接一个地播放几个音频
- html5视频元素有任何错误?它不会在几个小时后继续播放内容
- Javascript-每30秒播放一次音频剪辑
- HTML5 -视频播放时每隔几秒触发一次事件
- 使用JavaScript在视频结束前几秒运行一个函数
- 反应-每隔几秒渲染相对时间
- 如何在网页加载后5秒播放音频文件
- 显示前的几秒延迟:无
- 使用socket.io每隔几秒以编程方式触发一个事件
- 在每隔几秒播放的动画中添加声音