我有一个简单的AVPlayerViewController
,它以通常的方式坐在屏幕上的一个盒子里,它可以完美地播放/做任何事情。
如果你点击扩展器,
电话完美地调出通常的正常全屏播放器,
然而,它只是不播放-它只是保持黑色。
详细来说
- 在主屏幕上,应用程序中的“小”视频播放器似乎暂停了
- 您现在根本听不到电话中的音频
- 在全屏播放器上,它似乎设置了擦洗栏的位置,正确地,与应用程序中的“小”播放器上的位置相同
- 全屏幕播放器似乎是当前播放非暂停模式FWIW
- 全屏播放器根本不播放任何内容。如果你在全屏播放器上播放暂停/播放/暂停等,这没有什么区别
- 当你关闭全屏播放器时,一切都正常工作(应用程序中的“小”播放器继续愉快地播放,音频等正常)
我有这一套,
我尝试了两个当前的Xcode,也会回到14.3。
我尝试了许多物理手机,iOS版本等。
AVPlayerViewController实际上在视图控制器堆栈中,即为它设置了“addChild”。
我没有子类化AVPlayerViewController。
我尝试了许多设置,如entersFullScreenWhenPlaybackBegins
,canStartPictureInPictureAutomaticallyFromInline
,它们不相关。
到底是什么问题?
2条答案
按热度按时间pgccezyw1#
在我的一个项目中,我在iPhone和iPad屏幕上播放视频内容时也遇到了同样的问题。所以我所做的是根据设备的屏幕大小初始化视频的重力,就像下面一样。
通过设置此选项,可以帮助视频帧根据屏幕大小自行调整。
qyswt5oh2#
可能解决方案-苹果问题
最近(2023)AVKit中可能存在错误或异常行为。
简而言之-似乎
AVPlayer
可以完美工作。但是
AVQueuePlayer
只是***不工作***。(当然,不幸的是,人们几乎总是使用AVQueuePlayer,因为AVPlayer本身有点没用!我只是发现了这个问题,因为我非常幸运地碰巧在实验这个问题时使用了AVPlayer。)
Demo ...
AVPlayer
和AVQueuePlayer
之间切换,您就会发现当您使用AVQueuePlayer
时,它会非常失败不是最远视图控制器?
如果您正在使用的视图控制器不是nav堆栈中最后一个,则似乎会出现此问题。但情况尚不清楚。