使用 swiftui 在我的应用程序中播放 YouTube 视频的最简单方法是什么?

Noc*_*cis 2 xcode swift swiftui

我正在尝试在我的应用程序(使用 swiftUI)中制作一个视频播放器,当用户创建 URL 字符串时播放来自 youtube 的视频。为了练习,我将其分成一个新项目以查看它是否有效。但屏幕是黑色的,有一个播放按钮。当我按下播放按钮或屏幕时没有任何反应。这是我的代码:

import SwiftUI
import AVKit

struct ContentView: View {
    
    let url = URL(string: "https://youtu.be/Wlf1T5nrO50")!
    
    
    var body: some View {
        VStack{
           
            VideoPlayer(player: AVPlayer(url: url))
                .scaledToFit()
            
        }
}
Run Code Online (Sandbox Code Playgroud)

我找到了另一个视频,介绍如何制作嵌入式 YouTube 视频,但您只需复制视频 ID,而我的用户并不那么高级。我希望用户能够只复制 URL。

感谢您的任何帮助。

bra*_*imm 6

我制定的更好的解决方案


struct YoutubeVideoView: UIViewRepresentable {
    
    var youtubeVideoID: String
    
    func makeUIView(context: Context) -> WKWebView  {
        
        WKWebView()
    }
    
    func updateUIView(_ uiView: WKWebView, context: Context) {
        
        let path = "https://www.youtube.com/embed/\(youtubeVideoID)"
        guard let url = URL(string: path) else { return }
        
        uiView.scrollView.isScrollEnabled = false
        uiView.load(.init(url: url))
    }
}

Run Code Online (Sandbox Code Playgroud)