如何检测用户何时退出 iOS 上的 YouTube 播放器视图?

Mat*_*nes 3 youtube objective-c youtube-api ios ytplayerview

使用适用于 iOS 的 YouTube 帮助程序库时,我希望能够在用户退出播放器以停止播放时检测到状态的变化。我尝试过使用 kYTPlayerStateEnded,但只有在视频结束后才会触发。

浏览该YTPlayerView.m文件后,我似乎找不到可以实现此目的的状态。是否有其他方法可以检测您何时按下“完成”并退出播放器视图?

JAL*_*JAL 6

“退出播放器”是什么意思?您的意思是当用户暂停该视频或用户退出全屏播放器时?

要保持全屏播放器,您可以使用UIWindowDidBecomeVisibleNotification通知:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(videoExitFullScreen:) name:UIWindowDidBecomeVisibleNotification object:self.view.window];
Run Code Online (Sandbox Code Playgroud)

为了检测暂停,您可以监听状态YTPlayerState kYTPlayerStatePaused更改回调:

- (void)playerView:(YTPlayerView *)playerView didChangeToState:(YTPlayerState)state;
Run Code Online (Sandbox Code Playgroud)

如果您YTPlayerView是 的子视图UIViewController,则可以viewWillDisappear:在视图控制器上使用来清理播放器。