1
0
mirror of https://github.com/yattee/yattee.git synced 2024-12-13 22:00:31 +05:30
yattee/Shared/Views/MPVPlayerView.swift

42 lines
1.1 KiB
Swift
Raw Normal View History

2022-02-17 01:53:11 +05:30
import SwiftUI
#if !os(macOS)
struct MPVPlayerView: UIViewControllerRepresentable {
@State private var controller = MPVViewController()
2022-02-28 02:01:17 +05:30
@EnvironmentObject<PlayerModel> private var player
2022-02-17 01:53:11 +05:30
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 {
2022-02-28 02:01:17 +05:30
@State private var client = MPVClient()
@State private var layer = VideoLayer()
@EnvironmentObject<PlayerModel> private var player
2022-02-17 01:53:11 +05:30
func makeNSView(context _: Context) -> some NSView {
2022-03-21 02:01:19 +05:30
player.mpvBackend.client = client
2022-02-28 02:01:17 +05:30
client.layer = layer
layer.client = client
let view = MPVOGLView()
view.layer = client.layer
view.wantsLayer = true
2022-02-17 01:53:11 +05:30
2022-02-28 02:01:17 +05:30
return view
2022-02-17 01:53:11 +05:30
}
func updateNSView(_: NSViewType, context _: Context) {}
}
#endif