Add Open in PiP option (fix #137)

This commit is contained in:
Arkadiusz Fal
2022-05-29 16:38:37 +02:00
parent 3b1f6b21f3
commit 9abba2d19c
5 changed files with 61 additions and 22 deletions

View File

@@ -109,6 +109,29 @@ final class PlayerControlsModel: ObservableObject {
}
}
func startPiP(startImmediately: Bool = true) {
if player.activeBackend == .mpv {
player.avPlayerBackend.switchToMPVOnPipClose = true
}
#if !os(macOS)
player.exitFullScreen()
#endif
if player.activeBackend != PlayerBackendType.appleAVPlayer {
player.saveTime { [weak player] in
player?.changeActiveBackend(from: .mpv, to: .appleAVPlayer)
}
}
DispatchQueue.main.asyncAfter(deadline: .now() + 0.2) { [weak player] in
player?.avPlayerBackend.startPictureInPictureOnPlay = true
if startImmediately {
player?.pipController?.startPictureInPicture()
}
}
}
func removeTimer() {
timer?.invalidate()
timer = nil