首页 > 解决方案 > 用于视频通话的 iOS PIP(画中画)是私有 API 吗?

问题描述

我注意到除了 Facetime 之外,没有任何视频通话应用程序允许您在后台通过 PIP 进行视频通话/聊天。

Facetime 是如何实现的?它是我们无法使用的私有 API 吗?

我曾尝试搜索博客、论坛、StackOverflow、官方文档,但我还没有看到明确的答案。

我持怀疑态度,因为这个官方文档提到了以下内容,但它没有在那里指定 PIP:

在后台禁止使用相机。如果您尝试在后台开始运行相机,则捕获会话会发送带有此中断原因的 AVCaptureSessionWasInterruptedNotification。如果您没有显式调用 stopRunning 方法,则会保留您的 startRunning 请求,并且当您的应用返回前台时,您会收到 AVCaptureSessionInterruptionEndedNotification 并且您的会话开始运行。

标签: iosswiftobjective-creact-nativexamarin

解决方案


(见下面的更新)

老的

是的,它是通过私有 API 实现的。第三方应用程序无法执行此操作。

基本上,人们玩过低延迟的实时流媒体视频,并以画中画模式显示。做对是不容易的,但它是可行的。但是,您无法在画中画期间保持摄像头处于活动状态,因此很遗憾仍然无法进行视频通话(至少它是单方面的)。

更新:

在 iOS 15 中,现在可以使用“多任务相机访问权限”在 PiP 模式下使用 AVPictureInPictureController 保持相机录制。


推荐阅读