mirror of
https://github.com/yattee/yattee.git
synced 2025-08-09 20:24:06 +00:00
Hello, mpv! 🎉
This commit is contained in:
33
Shared/Views/MPVPlayerView.swift
Normal file
33
Shared/Views/MPVPlayerView.swift
Normal file
@@ -0,0 +1,33 @@
|
||||
import SwiftUI
|
||||
|
||||
#if !os(macOS)
|
||||
struct MPVPlayerView: UIViewControllerRepresentable {
|
||||
@EnvironmentObject<PlayerModel> private var player
|
||||
|
||||
@State private var controller = MPVViewController()
|
||||
|
||||
func makeUIViewController(context _: Context) -> some UIViewController {
|
||||
player.mpvBackend.controller = controller
|
||||
player.mpvBackend.client = controller.client
|
||||
|
||||
return controller
|
||||
}
|
||||
|
||||
func updateUIViewController(_: UIViewControllerType, context _: Context) {}
|
||||
}
|
||||
#else
|
||||
struct MPVPlayerView: NSViewRepresentable {
|
||||
let layer: VideoLayer
|
||||
|
||||
func makeNSView(context _: Context) -> some NSView {
|
||||
let vview = VideoView()
|
||||
|
||||
vview.layer = layer
|
||||
vview.wantsLayer = true
|
||||
|
||||
return vview
|
||||
}
|
||||
|
||||
func updateNSView(_: NSViewType, context _: Context) {}
|
||||
}
|
||||
#endif
|
Reference in New Issue
Block a user