1,单独使用AVPlayer
这个可以在当前视图中添加一个视频播放窗口,位置大小可设置,但不带播放控制器。所以如果需要控制视频播放状态的话,就需要自己在页面上添加按钮,写相应的控制方法了。
2,使用AVPlayerViewController
这个类似于原来的MPMoviePlayerController,使用时是会切换到新的视图控制器页面上,同时会有播放、暂停、进度选择等播放控制器。
3,播放在线视频
前面两个样例都是播放本地视频,要播放网络视频使用如下代码:
这个可以在当前视图中添加一个视频播放窗口,位置大小可设置,但不带播放控制器。所以如果需要控制视频播放状态的话,就需要自己在页面上添加按钮,写相应的控制方法了。
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,使用时是会切换到新的视图控制器页面上,同时会有播放、暂停、进度选择等播放控制器。
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
player =
AVPlayer
(
URL
: videoURL)
|