码迷,mamicode.com
首页 > 其他好文 > 详细

第五篇、Uber启动视频播放

时间:2016-09-17 23:27:11      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

import UIKit
import AVFoundation

class GuidePage: FxBasePage {

    @IBOutlet var backImageView:UIImageView?
    
    var player:AVPlayer!
    var playerItem:AVPlayerItem!
    var location:FxLocation!
    
    override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?)
    {
        super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    convenience init ()
    {
        var nibNameOrNil = String?("GuidePage")
        
        //考虑到xib文件可能不存在或被删,故加入判断
        if NSBundle.mainBundle().pathForResource(nibNameOrNil, ofType: "nib") == nil {
            nibNameOrNil = nil
        }
        
        self.init(nibName: nibNameOrNil, bundle: nil)
    }
    
    override func viewDidLoad()
    {
        super.viewDidLoad()
        
        initPlayVideo()
        doAnimation()
    }
    
    override func didReceiveMemoryWarning()
    {
        super.didReceiveMemoryWarning()
    }

    func doAnimation()
    {
        var images:[UIImage]=[]
        var image:UIImage?
        var imageName:String?
        
        for var index=0; index<=67;index++ {
            imageName = "logo-" + String(format: "%03d", index)
            image = UIImage(named: imageName!)
            
            images.insert(image!, atIndex: index)
        }
        
        backImageView?.animationImages = images
        backImageView?.animationRepeatCount = 1
        backImageView?.animationDuration = 5
        
        backImageView?.startAnimating()
        
        UIView.animateWithDuration(0.7, delay:5, options: .CurveEaseOut, animations: {
                self.backView!.alpha = 1.0
                self.player?.play()
            }, completion: {
                finished in
                print("Animation End")
        })
    }
    
    func initPlayVideo ()
    {
        let path = NSBundle.mainBundle().pathForResource("welcome_video", ofType: "mp4")
        let url = NSURL.fileURLWithPath(path!)
        
        playerItem = AVPlayerItem(URL: url)
        player = AVPlayer(playerItem: playerItem)
        
        let playerLayer = AVPlayerLayer(player: player)
        
        playerLayer.frame = backView!.bounds
        playerLayer.videoGravity =  AVLayerVideoGravityResizeAspect
        
        backView!.layer.insertSublayer(playerLayer, atIndex: 0)
        backView!.alpha = 0.0
        
        NSNotificationCenter.defaultCenter().addObserver ( self,
            selector: "didFinishVideo:" ,
            name: AVPlayerItemDidPlayToEndTimeNotification ,
            object: playerItem)
    }
    
  // 播放到视频结尾之后,要重新开放播放 func didFinishVideo(sender: NSNotification ) { let item
= sender.object as! AVPlayerItem item.seekToTime(kCMTimeZero) self.player.play() }
  // 跳转登录 @IBAction func doLogin() { location
= FxLocation() location.startLocation() }
  // 跳转注册 @IBAction func doRegister() { let page
= CreateAccountPage() let navPage = UINavigationController(rootViewController: page) self.presentViewController(navPage, animated: true, completion: nil) } }

 

第五篇、Uber启动视频播放

标签:

原文地址:http://www.cnblogs.com/HJQ2016/p/5880018.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!