yattee/macOS/AppleAVPlayerView.swift
2022-10-27 18:03:57 +02:00

28 lines
754 B
Swift

import Defaults
import SwiftUI
struct AppleAVPlayerView: NSViewControllerRepresentable {
@EnvironmentObject<PlayerModel> private var player
@State private var controller: AppleAVPlayerViewController?
init(controller: AppleAVPlayerViewController? = nil) {
self.controller = controller
}
func makeNSViewController(context _: Context) -> AppleAVPlayerViewController {
if self.controller != nil {
return self.controller!
}
let controller = AppleAVPlayerViewController()
controller.playerModel = player
player.avPlayerBackend.controller = controller
return controller
}
func updateNSViewController(_: AppleAVPlayerViewController, context _: Context) {}
}