PGメモ

非エンジニアの記録

MPMovieControllerでYoutubeの動画再生[Xcode / swift]

http://www.flickr.com/photos/23963573@N08/3606295240
photo by redsoul300

探しまくってようやく出来たのでメモ。
簡単にまとめると以下
・MPMovieControllerではそのままyoutubeの再生はできない
・そのためHCYoutubeParserというライブラリを使用(非公式)
・Bridging-Headerの設定を行う(上記ライブラリがObjective-Cのため)
・動画を表示させるコントローラーにソースを記述

import UIKit
import MediaPlayer

class ViewMovieController: UIViewController{
    
    var moviePlayer : MPMoviePlayerController?
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let srcUrl = NSURL(string:"{youtubeのURL}?feature=player_detailpage&playsinline=1")
        let dict = HCYoutubeParser.h264videosWithYoutubeURL(srcUrl)
        let url = NSURL(string: dict["medium"] as! String)

        self.moviePlayer = MPMoviePlayerController(contentURL: url)
        if let player = self.moviePlayer {
            player.view.frame = CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.height)
            player.view.sizeToFit()
            player.scalingMode = MPMovieScalingMode.Fill
            player.fullscreen = true
            player.controlStyle = MPMovieControlStyle.Fullscreen
            player.movieSourceType = MPMovieSourceType.File
            player.repeatMode = MPMovieRepeatMode.One
            player.play()
            self.view.addSubview(player.view)
        }
}