Files
WerkoutIOS/Werkout_ios/Views/VideoPlayerView.swift
Trey t 85dfc0a931 WIP
2023-07-03 20:18:08 -05:00

62 lines
1.7 KiB
Swift

//
// VideoPlayerView.swift
// Werkout_ios
//
// Created by Trey Tartt on 6/27/23.
//
import SwiftUI
import AVKit
import Combine
struct VideoPlayerView: View {
@Environment(\.dismiss) var dismiss
@Binding var avPlayer: AVPlayer
var showDoneButton = true
var pub = NotificationCenter.default.publisher(for: .AVPlayerItemDidPlayToEndTime)
var body: some View {
VStack {
if self.showDoneButton {
Button(action: {
dismiss()
}, label: {
Text("Done")
})
.padding()
.frame(maxWidth: .infinity)
.background(Color(uiColor: UIColor(red: 0.11, green: 0.11, blue: 0.12, alpha: 1)))
}
VideoPlayer(player: avPlayer)
.onAppear{
_ = try? AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.playback, mode: .default, options: .mixWithOthers)
avPlayer.play()
}
}
.background(.black)
.onReceive(pub) { (output) in
avPlayer.pause()
avPlayer.seek(to: .zero)
_ = try? AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.playback, mode: .default, options: .mixWithOthers)
avPlayer.play()
}
.onChange(of: avPlayer, perform: { newValue in
avPlayer.play()
})
}
}
//struct VideoPlayerView_Previews: PreviewProvider {
// static let exercise = PreviewData.parseExercises().first!
//
// static var previews: some View {
// VideoPlayerView(url: Bundle.main.url(forResource: "Straight_Leg_Sit_Up", withExtension: "mp4")!)
// }
//}