如何使用 Swift 检测 YTPlayerState.Ended?

How to detect YTPlayerState.Ended using Swift?

我正在我的应用程序中播放 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 "()" does not conform to protocol "Boolean Type" 的错误。如果您知道如何解决此问题,或者如果我遗漏了一些内容,请提供帮助。

我正在使用 @IBOutlet var player: YTPlayerView!

在此视图中初始化播放器

playerView:didChangeToState是一个委托方法,一个回调。您不应该像在第二个代码块中那样直接调用它。如果您将 YTPlayerViewDelegate 设置为您的视图控制器(viewDidLoad 中的 player.delegate = self),当播放器更改状态时,应该自动为您调用 playerView:didChangeToState。只需确保您实现了状态更改方法。

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