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

@@ -1,4 +1,5 @@
import CoreData
import CoreMedia
import Defaults
import SwiftUI
@@ -53,6 +54,9 @@ struct VideoContextMenuView: View {
Section {
playNowButton
#if os(iOS)
playNowInPictureInPictureButton
#endif
}
Section {
@@ -133,6 +137,26 @@ struct VideoContextMenuView: View {
}
}
private var playNowInPictureInPictureButton: some View {
Button {
player.controls.startPiP(startImmediately: false)
var time: CMTime?
if saveHistory,
let stoppedAt = watch?.stoppedAt,
!watch!.finished
{
time = .secondsInDefaultTimescale(stoppedAt)
}
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
player.play(video, at: time, showingPlayer: false)
}
} label: {
Label("Play in PiP", systemImage: "pip")
}
}
private var playNextButton: some View {
Button {
player.playNext(video)