用pod 下载 PLPlayerKit库 github上有在这里不多说 链接https://github.com/pili-engineering/PLPlayerKit
1在桥接文件上 导入 #import "PLPlayerKit/PLPlayerKit.h"
2 1.// 初始化 PLPlayerOption 对象
* let option = PLPlayerOption.defaultOption()
// 更改需要修改的 option 属性键所对应的值
* option.setOptionValue(15, forKey: PLPlayerOptionKeyTimeoutIntervalForMediaPackets)
option.setOptionValue(1000, forKey: PLPlayerOptionKeyMaxL1BufferDuration)
option.setOptionValue(1000, forKey: PLPlayerOptionKeyMaxL2BufferDuration)
option.setOptionValue(true, forKey: PLPlayerOptionKeyVideoToolbox)
//2. 2 初始化 PLPlayer
* self.player = PLPlayer(URL: NSURL(string: "http://localhost:8080/123.mp4"), option:option )
// 设定代理 (optional)
self.player.delegate = self;
//2.3获取视频输出视图并添加为到当前 UIView 对象的
* player.playerView?.frame = CGRect(x: 0, y: 0, width: contantview.frame.size.width, height: contantview.frame.size.height)
contantview.addSubview(player.playerView!)
//2.4
// 播放
@IBAction func startclick(sender: AnyObject) {
player.play()
}
// 停止
@IBAction func stopclick(sender: AnyObject) {
player.stop()
}
// 暂停
@IBAction func pauseclick(sender: AnyObject) {
player.pause()
}
// 继续播放
@IBAction func resumeclick(sender: AnyObject) {
player.resume()
}
//2.5 PLPlayer的代理
extension ViewController{
/**
告知代理对象播放器状态变更
// 这里会返回流的各种状态,你可以根据状态做 UI 定制及各类其他业务操作
// 除了 Error 状态,其他状态都会回调这个方法
*/
func player(player: PLPlayer, statusDidChange state: PLPlayerStatus) {
print(PLPlayerStatus)
}
/**
告知代理对象播放器因错误停止播放
* 当发生错误时,会回调这个方法
*/
func player(player: PLPlayer, stoppedWithError error: NSError?) {
print(error)
}
}