damus

nostr ios client
git clone git://jb55.com/damus
Log | Files | Refs | README | LICENSE

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 }