SwiftUI で 動画を再生する方法がわからなかったので、調べてみた。
↓こちらのサイトを参考にしました。
import SwiftUI import AVKit struct ContentView : View { var body: some View { PlayerView() } } struct PlayerView: NSViewRepresentable { func updateNSView(_ nsView: NSView, context: NSViewRepresentableContext<PlayerView>) { } func makeNSView(context: Context) -> NSView { return PlayerNSView(frame: .zero) } } class PlayerNSView: NSView{ private let playerLayer = AVPlayerLayer() override init(frame:CGRect){ super.init(frame: frame) let urlVideo = URL(string: "https://【動画のURL】")! let player = AVPlayer(url: urlVideo) player.play() playerLayer.player = player if layer == nil{ layer = CALayer() } layer?.addSublayer(playerLayer) } required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } override func layout() { super.layout() playerLayer.frame = bounds } }
SwiftUI で、動画を表示するコンポーネントを用意してくれないのだろうか。