Как мы можем воспроизводить видео YouTube сейчас с iOS? - PullRequest
0 голосов
/ 15 ноября 2018

Я беру онлайн курс, который показывает, как воспроизводить видео с URL. Но это всегда зайчик . Я искал, как воспроизводить видео на YouTube, и обнаружил, что они используют для использования UIWebView. Так как это устарело, как бы я мог играть в них сейчас? Вот так выглядит мой код.

import UIKit
import AVKit
import AVFoundation

class CourseDetailVC: UIViewController {
    @IBOutlet weak var descriptionTextView: UITextView!
    @IBOutlet weak var titleLabel: UILabel!
    @IBOutlet weak var authorButton: UIButton!
    @IBOutlet weak var backgroundImage: UIImageView!

    var course: Courses.Course?

    @IBAction func playURLVideo() {
        guard let videoURL = URL(string: course?.videoUrl ?? "") else { return }
        let player = AVPlayer(url: videoURL)
        let playerViewController = AVPlayerViewController()
        playerViewController.player = player
        self.present(playerViewController, animated: true) {
            playerViewController.player!.play()
        }
    }

У меня просто есть кнопка. Когда я нажимаю его, я хотел бы воспроизвести видео на YouTube. Теперь это работает с кроликом. Как бы я смог воспроизвести это видео YouTube .

Снимок экрана после нажатия кнопки

enter image description here

Обновлен код

 @IBAction func playButtonPress() {
    // Create Video player
    var mywkwebview: WKWebView?
    let mywkwebviewConfig = WKWebViewConfiguration()

    mywkwebviewConfig.allowsInlineMediaPlayback = true
    mywkwebview = WKWebView(frame: self.view.frame, configuration: mywkwebviewConfig)

    let myURL = URL(string: "https://www.youtube.com/embed/JePnQ1gSagc?playsinline=1?autoplay=1")
    let youtubeRequest = URLRequest(url: myURL!)

    mywkwebview?.load(youtubeRequest)

    guard let webView = mywkwebview else { return }
    self.view.addSubview(webView)

}

1 Ответ

0 голосов
/ 15 ноября 2018

Вот решение для WKWebView

Так как YouTube имеет функцию для загрузки любого видео в полноэкранном режиме в веб-просмотре без каких-либо функций прокрутки, используя URL в формате https://www.youtube.com/embed/<videoId>.

Приведенное выше видео имеет идентификатор (https://www.youtube.com/watch?v=1roy4o4tqQM) - [1roy4o4tqQM]

mywkwebviewConfig.allowsInlineMediaPlayback = true
mywkwebview = WKWebView(frame: self.view.frame, configuration: mywkwebviewConfig)
let myURL = URL(string: "https://www.youtube.com/embed/1roy4o4tqQM?playsinline=1?autoplay=1")
var youtubeRequest = URLRequest(url: myURL!)
mywkwebview.load(youtubeRequest)

Обновленный код:

@IBAction func playURLVideo() {

  var mywkwebview: WKWebView?
  let mywkwebviewConfig = WKWebViewConfiguration()

  mywkwebviewConfig.allowsInlineMediaPlayback = true
  mywkwebview = WKWebView(frame: self.view.frame, configuration: mywkwebviewConfig)

  let myURL = URL(string: "https://www.youtube.com/embed/1roy4o4tqQM?playsinline=1?autoplay=1")
  var youtubeRequest = URLRequest(url: myURL!)

  mywkwebview.load(youtubeRequest)
}

Вам необходимо добавить ?autoplay=1 в конецКод для вставки URL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...