在iOS开发中,播放视频通常有两种方式,一种是使MPMoviePlayerController(需要导入MediaPlayer.Framework),还有一种是使用AVPlayer。简而言之MPMoviePlayerController使用更简单,功能不如AVPlayer强大,而AVPlayer使用稍微麻烦点,不过功能更加强大。
在iOS9中,苹果推出了AVPlayerViewController,更加方便快捷的播放视频。
我们拖拽一个AVPlayerViewController到storyboard中。在viewController中创建一个按钮,来展示AVPlayerViewController。
命名segue的identifier:AVPlayerViewSegue
在viewController中引入框架:
import AVFoundation
import AVKit
//跳转之前所做的操作
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if "AVPlayerViewSegue" == segue.identifier {
let destination = segue.destination as! AVPlayerViewController
let url = URL(string:
"http://200006680.vod.myqcloud.com/200006680_809fb69ce10f11e59cc863ed97c9457c.f20.mp4")
destination.player = AVPlayer(�url: url!)
}
}```
这样就可以轻松播放网络视频了。
注意如果你的连接是http的话,默认是不支持的。需要在info.plist中加入代码(支持所有http连接,如果有需要可以只支持制定域名):
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
由于 AVPlayerViewController 不能被继承,如果你想要实现只支持横屏播放的话,可以考虑用 extension :
extension AVPlayerViewController {
override open var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return .landscapeLeft
}
}
网友评论