播放 YouTube 播放器的事件

Posted

技术标签:

【中文标题】播放 YouTube 播放器的事件【英文标题】:Play the events of YouTube player 【发布时间】:2015-09-25 14:27:26 【问题描述】:

我使用 Xcode Swift 7 和 2。 我想知道如何收听 YouTube 播放器事件。我正在使用 YouTube API。我想更准确地知道我的播放器何时完成加载。

【问题讨论】:

使用YTPlayerViewdidChangeToState委托并检查kYTPlayerStatePlayingkYTPlayerStatePaused值。 能不能给我举个例子,因为我试过了,但是不行…… 抱歉,不,我目前没有使用它来运行测试的项目,我只记得它应该工作的方式并对此进行了快速评论。 好的,谢谢! ;) @hugo_082:GitHub 上有一个示例项目。这是设置和使用委托的相关代码:Link 【参考方案1】:

我正在使用 Swift 2.1、Xcode 7.1 和 Youtube API v3。

我发现这个教程很有帮助:https://developers.google.com/youtube/v3/guides/ios_youtube_helper

如果您使用的是 cocoapods,它应该会更容易,但我只是手动复制了 .h.m 并创建了一个 Bridging-Header。

设置委托非常简单。首先,您必须告诉您的 VC 遵守 YTPlayerViewDelegate,如下所示:

然后为您的YTPlayerView 创建一个出口并在您的viewDidLoad 中调用[playerViewNameHere].delegate = self

你可以像这样实现didChangeToSate

// MARK: YTPlayerDelegate methods

func playerView(playerView: YTPlayerView!, didChangeToState state: YTPlayerState) 
    switch(state) 
    case YTPlayerState.Unstarted:
        print("Unstarted")
        break
    case YTPlayerState.Queued:
        print("Ready to play")
        break
    case YTPlayerState.Playing:
        print("Video playing")
        break
    case YTPlayerState.Paused:
        print("Video paused")
        break
    default:
        break
    

 

不过,我只会在全屏视图打开时收到播放和暂停通知。

希望这会有所帮助!

【讨论】:

嗨!您找到如何获取UnstartedQueued 通知了吗?

以上是关于播放 YouTube 播放器的事件的主要内容,如果未能解决你的问题,请参考以下文章

钩住嵌入式 youtube 播放器内的单击事件

如何识别youtube播放器中的音量变化

在播放 youtube iframe embed 时触发事件

如何跟踪嵌入视频(youtube、vimeo 等)的点击事件? (跟踪播放次数)

控制 youtube 电影播放器

如何在 WKWebView 中检测视频播放器的播放/暂停事件?