ios - 用于视频通话的 iOS PIP(画中画)是私有 API 吗?
问题描述
我注意到除了 Facetime 之外,没有任何视频通话应用程序允许您在后台通过 PIP 进行视频通话/聊天。
Facetime 是如何实现的?它是我们无法使用的私有 API 吗?
我曾尝试搜索博客、论坛、StackOverflow、官方文档,但我还没有看到明确的答案。
我持怀疑态度,因为这个官方文档提到了以下内容,但它没有在那里指定 PIP:
在后台禁止使用相机。如果您尝试在后台开始运行相机,则捕获会话会发送带有此中断原因的 AVCaptureSessionWasInterruptedNotification。如果您没有显式调用 stopRunning 方法,则会保留您的 startRunning 请求,并且当您的应用返回前台时,您会收到 AVCaptureSessionInterruptionEndedNotification 并且您的会话开始运行。
解决方案
(见下面的更新)
老的
是的,它是通过私有 API 实现的。第三方应用程序无法执行此操作。
基本上,人们玩过低延迟的实时流媒体视频,并以画中画模式显示。做对是不容易的,但它是可行的。但是,您无法在画中画期间保持摄像头处于活动状态,因此很遗憾仍然无法进行视频通话(至少它是单方面的)。
更新:
在 iOS 15 中,现在可以使用“多任务相机访问权限”在 PiP 模式下使用 AVPictureInPictureController 保持相机录制。
推荐阅读
- javascript - Vue 可以在新网站上使用 Paypal 沙盒帐户进行真实交易
- java - 识别 Camunda 中的子执行
- reactjs - 如何使用 Jest & Enzyme (useField Hook) 为 Formik 驱动的输入组件编写测试?
- r - 如何以 10000 次重复优化 r 中的分层随机抽样
- python - python在写入文件时在行之间创建空行
- javascript - 为什么 console.log 的行为与 .innerText/.innerHTML 属性不同
- opencv - 如何使用 cv2.grabcut 改进前景提取
- javascript - 使用 mongodb 在 nodejs 上对用户的参与者进行分组
- angularjs - 接受指定状态 URL 之后的任何后续字符
- javascript - Promise.all() 用于 promiseArray 不返回任何值