DamusAVPlayerView.swift (914B)
1 // 2 // AVPlayerView.swift 3 // damus 4 // 5 // Created by Bryan Montz on 9/4/23. 6 // 7 8 import Foundation 9 import AVKit 10 import SwiftUI 11 12 struct DamusAVPlayerView: UIViewControllerRepresentable { 13 14 let player: AVPlayer 15 var controller: AVPlayerViewController 16 let show_playback_controls: Bool 17 18 func makeUIViewController(context: Context) -> AVPlayerViewController { 19 self.controller.showsPlaybackControls = show_playback_controls 20 return self.controller 21 } 22 23 func updateUIViewController(_ uiViewController: AVPlayerViewController, context: Context) { 24 if uiViewController.player == nil { 25 uiViewController.player = player 26 player.play() 27 } 28 } 29 30 static func dismantleUIViewController(_ uiViewController: AVPlayerViewController, coordinator: ()) { 31 uiViewController.player?.pause() 32 uiViewController.player = nil 33 } 34 }