ওয়েব ভিউ ব্যবহার করে আমরা সহজে SwiftUI অ্যাপে ইউটিউব ভিডিও প্লে করতে পারি।
import SwiftUI
import WebKit
struct ContentView: View {
var body: some View {
YouTubeWebView(videoID: "67vbA5ZJdKQ")
}
}
struct YouTubeWebView: UIViewRepresentable {
var videoID: String
func makeUIView(context: Context) -> WKWebView {
return WKWebView()
}
func updateUIView(_ uiView: WKWebView, context: Context) {
if let url = URL(string: "https://www.youtube.com/embed/\(videoID)") {
uiView.load(URLRequest(url: url))
}
}
}
YouTubeWebView তে ভিডিও আইডি পাস করলে ভিডিও ওয়েব ভিউতে লোড হবে। এরপর ইউজার চাইলে প্লে করতে পারবে।
ওয়েবভিউতে ভিডিও অটোপ্লে হচ্ছিল না। সাধারণত ভিডিও URL এ ?autoplay=1
প্যারামিটার যোগ করলে অটোপ্লে হওয়ার কথা। পরে অটো প্লে এর সলিউশন খুঁজতে গিয়ে YouTubePlayerKit নামে সুন্দর একটা প্যাকেজ পেয়েছি। File > Add Package Dependencies এ ক্লিক করে গিটহাব লিংক ব্যবহার করে প্যাকেজ যোগ করে নেওয়া যাবে। এরপর এভাবে ব্যবহার করতে পারিঃ
YouTubePlayerView(
"https://www.youtube.com/watch?v=67vbA5ZJdKQ"
)
অটোপ্লে এর জন্য এভাবে লিখতে পারিঃ
import SwiftUI
import YouTubePlayerKit
struct ContentView: View {
let youTubePlayer = YouTubePlayer(
source: .video(id: "67vbA5ZJdKQ"),
configuration: .init(
autoPlay: true
)
)
var body: some View {
YouTubePlayerView(self.youTubePlayer)
}
}
প্রয়োজন অনুযায়ী আরো কিছু কনফিগার করে নেওয়া যাবে।