【问题标题】:youtube-api - Event on timeupdateyoutube-api - 时间更新事件
【发布时间】:2017-03-12 22:42:35
【问题描述】:

当 IFrame 嵌入 YouTube 到达特定帧时是否可以引发事件?

我正在寻找类似于 HTML5 player timeupdate 事件的东西。

我不是在寻找使用setInterval 来检查当前位置(如Youtube API event on a specified time 中所建议的那样),我想知道是否有本地API 来支持这种功能。

【问题讨论】:

  • 我使用 YouTube API 构建了一个播放器,并使用 requestAnimationFrame() 函数创建了一个循环,该循环不断检查 getElapsedTime() 以更新播放器的轨道位置。尽管您说您不想使用setInterval,但我相信正是这种“轮询”方法可以检查轨道是否已到达特定帧。

标签: youtube-api


【解决方案1】:

这是不可能的,因为 iFrame API 中没有这样的event。虽然您不能直接尝试这样的事情,但如果您需要视频来结束特定点,例如,您可以使用加载参数来执行此操作,就像这样。

loadVideoById({'videoId': 'bHQqvYy5KYo',
           'startSeconds': 5,
           'endSeconds': 60,
           'suggestedQuality': 'large'});

之后,您将连接到onStateChange 事件并取决于您想继续玩什么,询问关于时间范围等的问题。

但是,如果这是为在移动设备上使用而设计的,您必须根据大多数移动浏览器考虑(参考资料说 iOS,我认为 android 也是如此)。

“警告:为防止用户自费通过蜂窝网络进行未经请求的下载,嵌入式媒体无法在 iOS 上的 Safari 中自动播放 - 用户始终会启动播放。”

因此,如果视频结束或暂停,您无法务实地重新启动/恢复视频,用户必须始终这样做。

【讨论】:

    猜你喜欢
    • 2012-04-27
    • 2013-09-05
    • 1970-01-01
    • 2015-11-07
    • 2014-08-28
    • 2013-01-30
    • 1970-01-01
    • 2021-04-07
    • 2016-09-01
    相关资源
    最近更新 更多