I noticed that none of the video calling apps except Facetime allows you to do a video call/chat when in background through PIP.
How did Facetime achieve it? Is it a private API that we can’t use?
I have tried to search blogs, forums, StackOverflow, the official documentation, but I haven't seen a definitive answer.
I'm skeptical because this official doc mentions the following, but it didn't specify PIP there:
Camera usage is prohibited while in the background. If you attempt to start running a camera while in the background, the capture session sends an AVCaptureSessionWasInterruptedNotification with this interruption reason. If you don't explicitly call the stopRunning method, your startRunning request is preserved, and when your app comes back to foreground, you receive AVCaptureSessionInterruptionEndedNotification and your session starts running.
With Picture in Picture, you can watch a video or use FaceTime while you use other apps. While watching a video, tap . The video window scales down to a corner of your screen so you can see the Home Screen and open other apps.
The picture-in-picture feature is available to iPhone and iPad devices running iOS and iPadOS 15 and higher, and it will be rolling out over the next several days. Get weekly top MacRumors stories in your inbox.
After rolling out the picture-in-picture (PIP) video calls to beta users of its app, WhatsApp has now rolled out the feature to everyone. This means that both Android and iOS users will now be able to minimize video calls to a corner of the display while browsing through other messages in the instant messaging app.
Picture in Picture (PiP) scales down a video or FaceTime call to a small movable window that stays in the corner of your screen while you use other apps. It is especially handy when you might need to reference a video while working, or in situations where you’d like to continue on a video call while using your iPad for other tasks.
Add Picture in Picture (PiP) playback to your app using a player view controller. The simplest way to add PiP playback to your apps is with AVPlayerViewController.
In fact, after you’ve configured your audio session and set the project capabilities as described in Configuring the Audio Playback of iOS and tvOS Apps, your player automatically supports PiP playback. If your app is running on a supported device, you’ll see a new button in the lower-right corner of your player.
A private API is an API that is not documented in the SDK. For instance, a framework class might declare a method that is not intended to be used by outside developers. The behavior of a private API is not guaranteed.
(See update below)
Yes, it is achieved through private APIs. It is not possible for third-party apps to do this.
Basically people have played around with live-streaming video with low latency and displaying that in PiP mode. It is not easy to do right, but it is doable. However, you cannot keep the camera active during PiP, so a video call is unfortunately still not possible (at least it would be one-sided).
With iOS 15 it is now possible using the "Multitasking Camera Access Entitlement" to keep the camera recording while in PiP mode using the AVPictureInPictureController.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With