有没有办法使用 Youtube API 播放视频,直到视频中的某个点然后暂停它?
2 回答
我已经修改了iframe 嵌入的 YouTube 播放器 API 参考中的代码,以在一定秒数后暂停播放。
The code works by waiting for the onPlayerStateChange
event. When the event fires, it checks the event to see if it's a PLAYING
event. If it is, it calculates the remaining time from the current time (getCurrentTime()
method) to the desired pause point (hardcoded as the stopPlayAt
variable). It sets a Javascript timer to wait that difference and then pass the API a command to pause the video.
您可以使用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);