SwiftUI অ্যাপে ইউটিউব ভিডিও

ওয়েব ভিউ ব্যবহার করে আমরা সহজে 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)
    }
}

প্রয়োজন অনুযায়ী আরো কিছু কনফিগার করে নেওয়া যাবে।

iOS এবং SwiftUI নিয়ে অন্যান্য লেখা।

Leave a Reply