gpt4 book ai didi

ios - 无法检测全屏 AVPlayerViewController 转换

转载 作者:行者123 更新时间:2023-11-29 05:58:49 25 4
gpt4 key购买 nike

现已弃用的旧“MPMoviePlayerController”有一个“MPMoviePlayerWillEnterFullScreen”委托(delegate)。

https://developer.apple.com/documentation/foundation/nsnotification/name/1620898-mpmovieplayerwillenterfullscreen

查看文档后找不到与当前标准“AVPlayerViewController”类似的内容。

https://developer.apple.com/documentation/avkit/avplayerviewcontrollerdelegate

基于播放器全屏切换时,如何实现 AVPlayerViewController 的委托(delegate)?

谢谢。

最佳答案

我不相信有您提到的任何内置通知。您可以观察 AVPlayerViewController 的 videoBounds 的变化:

    [self.playerViewController addObserver:self forKeyPath:@"videoBounds" options:0 context:NULL];

然后在观察进入后使用您自己的逻辑来确定它是否切换到全屏或其他边界更改:

    - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
if (object == self.playerViewController && [keyPath isEqualToString:@"videoBounds"]) {
// check your playerViewController videoBounds here compared to what they were previously
// they could change outside of toggleFullScreen (rotation for example)
}
}

正如我在评论中所指出的,旋转很可能也会导致 videoBounds 发生变化,因此您需要在逻辑中考虑到这一点。

关于ios - 无法检测全屏 AVPlayerViewController 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54872953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com