播放 YouTube 播放器的事件
Posted
技术标签:
【中文标题】播放 YouTube 播放器的事件【英文标题】:Play the events of YouTube player 【发布时间】:2015-09-25 14:27:26 【问题描述】:我使用 Xcode Swift 7 和 2。 我想知道如何收听 YouTube 播放器事件。我正在使用 YouTube API。我想更准确地知道我的播放器何时完成加载。
【问题讨论】:
使用YTPlayerView
的didChangeToState
委托并检查kYTPlayerStatePlaying
或kYTPlayerStatePaused
值。
能不能给我举个例子,因为我试过了,但是不行……
抱歉,不,我目前没有使用它来运行测试的项目,我只记得它应该工作的方式并对此进行了快速评论。
好的,谢谢! ;)
@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
不过,我只会在全屏视图打开时收到播放和暂停通知。
希望这会有所帮助!
【讨论】:
嗨!您找到如何获取Unstarted
和Queued
通知了吗?以上是关于播放 YouTube 播放器的事件的主要内容,如果未能解决你的问题,请参考以下文章
在播放 youtube iframe embed 时触发事件