1

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

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

4

2 回答 2

5

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

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

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(videoExitFullScreen:) name:UIWindowDidBecomeVisibleNotification object:self.view.window];

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

- (void)playerView:(YTPlayerView *)playerView didChangeToState:(YTPlayerState)state;

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

于 2015-11-05T20:14:33.023 回答
2

要解决您所描述的问题,您可以使用带有UIWindow.didBecomeHiddenNotification (Swift)的通知。这应该放在您正在播放视频的视图控制器中。

NotificationCenter.default.addObserver(self, selector: #selector(playerExited), name: UIWindow.didBecomeHiddenNotification, object: nil)
于 2020-09-23T21:43:02.500 回答