web-dev-qa-db-ja.com

SwiftのAVPlayerViewControllerでYoutubeからビデオを再生します

さて、私は自分のアプリで映画の予告編を再生したいと思っています。ユーザーがボタンを押すと、ビデオが再生されます。 import AVKit行とimport AVFoundation行をファイルに追加しました。これは、ビデオを再生するためにこれまでに持っているコードです。

@IBAction func playTrailerPressed(sender: AnyObject) {

    let videoURL = NSURL(string: "https://youtu.be/d88APYIGkjk")
    let player = AVPlayer(URL: videoURL!)
    let playerViewController = AVPlayerViewController()
    playerViewController.player = player
    self.presentViewController(playerViewController, animated: true) {

        playerViewController.player!.play()

    }

}

これはAVPlayerViewControllerを起動するようですが、YouTubeからのビデオを再生しません。代わりに、私は以下を取得します:

enter image description here

YouTubeの共有リンクと埋め込みリンクの両方を試しましたが、どちらも機能しません。最後にビデオファイル名が付いているリンクを使用すると、たとえば次のように正常に再生されます。"https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"-したがって、コードが機能することがわかります。

これがYouTubeビデオでこのように使用できるかどうか誰かが知っていますか? (IMDbとAppleの予告編も試しましたが、同じです)。

ご協力いただきありがとうございます!

7
Nick89

AVPlayerは映画ファイルのみを再生し、YouTube動画はURLで映画ファイルとして直接公開されません。 YouTubeビデオを処理するための好ましい方法は、アプリにWebビューを埋め込むことです。その方法については、Googleからの情報について このページ を参照してください。

13
Marc Khadpe