有没有办法使用Youtube API播放视频,直到视频中的某个点然后暂停?
答案 0 :(得分:7)
我已经修改了YouTube Player API Reference for iframe Embeds中的代码,在一定的秒数后暂停播放。
代码通过等待onPlayerStateChange
事件来工作。当事件触发时,它会检查事件以查看它是否为PLAYING
事件。如果是,则计算从当前时间(getCurrentTime()
方法)到所需暂停点(硬编码为stopPlayAt
变量)的剩余时间。它设置一个Javascript计时器来等待该差异,然后通过API命令暂停视频。
答案 1 :(得分:3)
您可以使用Object语法中的cueVideoById
命令来实现此目的。
见这里:https://developers.google.com/youtube/iframe_api_reference#cueVideoById
这就像启动这样的视频一样。
//Minimal Example
player.cueVideoById({videoId:String, endSeconds:Number});
player.playVideo();
编辑:上面的示例停止了视频。如果您想暂停它,JavaScript代码需要更多操作。
详细地说,你必须在正确的时间进行轮询。
function checkTime() {
if ( player.getCurrentTime() == finishTime )
player.pauseVideo()
else
setInterval(checkTime, 500);
}
checkTime();
或者跟踪JS中的时间:
var duration = finishTime - player.getCurrentTime();
player.playVideo()
setInterval("player.pauseVideo();", duration*1000);