Get YouTube video stream URL in Swift.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
SSYoutubeParser.xcodeproj
SSYoutubeParser
SSYoutubeParserTests
.gitignore
LICENSE
README.md change a sample Sep 23, 2015

README.md

##SSYoutubeParser

Create based on HCYoutubeParser.
https://github.com/hellozimi/HCYoutubeParser
Thank you. hellozimi

You can also playback video that can not be played on HCYoutubeParser.
You can not play video There are some.

HCYoutubeParserを元にSwiftで作成しています。
HCYoutubeParserで再生できないビデオも再生出来ます。
一部の再生制限のあるビデオは再生できません。(今後クリアしたい)

//Swift2.0

func setupVideo() {
    SSYoutubeParser.h264videosWithYoutubeID("b2fjU9cmjXg") { (videoDictionary) -> Void in
        //let videoSmallURL = videoDictionary["small"]
        let videoMediumURL = videoDictionary["medium"]
        //let videoHD720URL = videoDictionary["hd720"]
        
        if let urlStr = videoMediumURL {
            if let playerItem:AVPlayerItem = AVPlayerItem(URL: NSURL(string: urlStr)!) {
                self.avPlayerView.player = AVPlayer(playerItem: playerItem)
                playerItem.addObserver(self, forKeyPath: "status", options: [.New,.Old,.Initial], context: nil)
            }
        }
    }
}

override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) {
    if keyPath == "status" {
        let change2 = change!
        let changeOld = change2["old"] as? NSNumber
        let changeNew = change2["new"] as? NSNumber
        let status = object!.status as AVPlayerItemStatus
        
        if changeOld == 0 && changeNew == 1 && status == AVPlayerItemStatus.ReadyToPlay {
            self.avPlayerView.player.play()
        }
    } else {
        super.observeValueForKeyPath(keyPath, ofObject: object, change: change, context: context)
    }
}