5

有没有办法使用 Youtube API 播放视频,直到视频中的某个点然后暂停它?

4

2 回答 2

10

我已经修改了iframe 嵌入的 YouTube 播放器 API 参考中的代码,以在一定秒数后暂停播放。

Demo

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.

于 2013-01-04T07:14:59.833 回答
3

您可以使用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);
于 2013-01-04T06:50:42.203 回答