Skip to content

Instantly share code, notes, and snippets.

@yoshimin
Created September 17, 2014 16:48
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save yoshimin/670e2d551cb9afcd8cd4 to your computer and use it in GitHub Desktop.
Save yoshimin/670e2d551cb9afcd8cd4 to your computer and use it in GitHub Desktop.
AVPlayerで動画を再生
// サンプル動画のパスを取得
let bundle = NSBundle.mainBundle()
let url: NSURL = NSBundle.mainBundle().URLForResource("sample", withExtension: "mp4")!
// 動画のパスを指定してplayerItemを生成
self.playerItem = AVPlayerItem(URL: url)
// 上で生成したplayerItemを指定してplayerを生成
self.videoPlayer = AVPlayer(playerItem: self.playerItem)
// playerとplayerの表示サイズを指定
self.videoPlayerView.setPlayer(self.videoPlayer!)
self.videoPlayerView.setVideoFillMode(AVLayerVideoGravityResizeAspect)
// 動画が終了した時に呼ばれるnotificationを登録
NSNotificationCenter.defaultCenter().addObserver(self, selector: "playerItemDidReachEnd:", name: AVPlayerItemDidPlayToEndTimeNotification, object: self.playerItem)
// 再生時間とシークバー位置の更新
self.videoTimeObserver = self.videoPlayer!.addPeriodicTimeObserverForInterval(CMTimeMake(150, 600),
queue: dispatch_get_main_queue(),
usingBlock: {[unowned self](CMTime) in
self.syncSeekber()
self.updateTimeLabel()
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment