Ios 如何检测YTPlayerState。使用Swift结束?

Ios 如何检测YTPlayerState。使用Swift结束?,ios,swift,youtube,youtube-iframe-api,ytplayerview,Ios,Swift,Youtube,Youtube Iframe Api,Ytplayerview,我正在我的应用程序中播放You Tube视频,并尝试检测视频何时暂停或结束?我在.m文件中找到了kYTPlayerState函数,但无法将其用法转换为Swift。这是我的 func playerView(playerView: YTPlayerView!, didChangeToState state: YTPlayerState) { switch (state) { case YTPlayerState.Playing: print("Started play

我正在我的应用程序中播放You Tube视频,并尝试检测视频何时暂停或结束?我在.m文件中找到了
kYTPlayerState
函数,但无法将其用法转换为Swift。这是我的

func playerView(playerView: YTPlayerView!, didChangeToState state: YTPlayerState)
{
    switch (state) {
    case YTPlayerState.Playing:
        print("Started playback");
        break;
    case YTPlayerState.Paused:
        print("Paused playback");
        break;
    case YTPlayerState.Ended:
        print("Ended playback");
        break;
    default:
        break;
    }
}

   if playerView(player , didChangeToState: YTPlayerState.Ended)
    {
        /// Do Something....
    }
..我将其放置在ViewDidLoad()中。我还返回了if语句中的错误,该语句表示
Type”()不符合协议“Boolean Type”
。如果你知道如何解决这个问题,或者如果我遗漏了什么,请帮助我


我正在用
@IBOutlet var player:YTPlayerView初始化此视图中的播放器
playerView:didChangeToState
是一个委托方法,一个回调。您不应该像在第二个代码块中那样直接调用它。如果将
ytplayervewdelegate
设置到视图控制器(
viewDidLoad
中的
playerviewdelegate=self
),则当播放器更改状态时,应自动为您调用
playerView:didChangeToState
。只需确保实现状态更改方法

func playerView(playerView: YTPlayerView!, didChangeToState state: YTPlayerState)
{
    case YTPlayerState.Ended:
        // handle ended state
        break;
    default:
        break;
    }
}

嘿,查尔斯,我的回答对你有帮助吗?如果你还有其他问题,请告诉我。@JAL是的,效果很好。我想我弄糊涂了,尝试在viewWillLoad中实现
if state
语句,因为我已经用其他事件/监控协议实现了。太好了,很高兴听到这个消息!请随时将我的答案标记为已接受,以向其他用户展示我的答案帮助您解决的相同问题。如果您有任何其他问题,请毫不犹豫地在这里或在其他问题上与我联系。快乐编码!嗨@JAL,我用了同样的想法,但是当我添加
YTPlayerState.unstarted
YTPlayerState.queued
时,它们的通知不会被处理。你知道吗?