Swift - 使用AVKit播放本地视频,在线视频(AVPlayerViewController)

1,单独使用AVPlayer
这个可以在当前视图中添加一个视频播放窗口,位置大小可设置,但不带播放控制器。所以如果需要控制视频播放状态的话,就需要自己在页面上添加按钮,写相应的控制方法了。
Swift - 使用AVKit播放本地视频,在线视频(AVPlayerViewController)_第1张图片
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import  UIKit
import  AVKit
import  AVFoundation
 
class  ViewController UIViewController  {
     
     override  func  viewDidLoad() {
         super .viewDidLoad()
         
         //定义一个视频文件路径
         let  filePath =  NSBundle .mainBundle().pathForResource( "hangge" , ofType:  "mp4" )
         let  videoURL =  NSURL (fileURLWithPath: filePath!)
         //定义一个视频播放器,通过本地文件路径初始化
         let  player =  AVPlayer ( URL : videoURL)
         //设置大小和位置(全屏)
         let  playerLayer =  AVPlayerLayer (player: player)
         playerLayer.frame =  self .view.bounds
         //添加到界面上
         self .view.layer.addSublayer(playerLayer)
         //开始播放
         player.play()
     }
     
     override  func  didReceiveMemoryWarning() {
         super .didReceiveMemoryWarning()
     }
}

2,使用AVPlayerViewController

这个类似于原来的MPMoviePlayerController,使用时是会切换到新的视图控制器页面上,同时会有播放、暂停、进度选择等播放控制器。
Swift - 使用AVKit播放本地视频,在线视频(AVPlayerViewController)_第2张图片
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import  UIKit
import  AVKit
import  AVFoundation
 
class  ViewController UIViewController  {
     
     override  func  viewDidLoad() {
         super .viewDidLoad()
     }
     
     override  func  viewDidAppear(animated:  Bool ){
         super .viewDidLoad()
         
         //定义一个视频文件路径
         let  filePath =  NSBundle .mainBundle().pathForResource( "hangge" , ofType:  "mp4" )
         let  videoURL =  NSURL (fileURLWithPath: filePath!)
         //定义一个视频播放器,通过本地文件路径初始化
         let  player =  AVPlayer ( URL : videoURL)
         let  playerViewController =  AVPlayerViewController ()
         playerViewController.player = player
         self .presentViewController(playerViewController, animated:  true ) {
             playerViewController.player!.play()
         }
     }
     
     override  func  didReceiveMemoryWarning() {
         super .didReceiveMemoryWarning()
     }
}

3,播放在线视频
前面两个样例都是播放本地视频,要播放网络视频使用如下代码:
1
2
3
let  videoURL =   NSURL (string:  "http://hangge.com/demo.mp4" )!
let  player =  AVPlayer ( URL : videoURL)

你可能感兴趣的:(基础使用)