在iOS開發(fā)中,播放視頻通常有兩種方式,一種是使MPMoviePlayerController(需要導(dǎo)入MediaPlayer.Framework),還有一種是使用AVPlayer。簡而言之MPMoviePlayerController使用更簡單,功能不如AVPlayer強大,而AVPlayer使用稍微麻煩點,不過功能更加強大。
在iOS9中,蘋果推出了AVPlayerViewController,更加方便快捷的播放視頻。

我們拖拽一個AVPlayerViewController到storyboard中。在viewController中創(chuàng)建一個按鈕,來展示AVPlayerViewController。

命名segue的identifier:AVPlayerViewSegue
在viewController中引入框架:
import AVFoundation
import AVKit
//跳轉(zhuǎn)之前所做的操作
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!)
}
}```
這樣就可以輕松播放網(wǎng)絡(luò)視頻了。
注意如果你的連接是http的話,默認(rèn)是不支持的。需要在info.plist中加入代碼(支持所有http連接,如果有需要可以只支持制定域名):
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
由于 AVPlayerViewController 不能被繼承,如果你想要實現(xiàn)只支持橫屏播放的話,可以考慮用 extension :
extension AVPlayerViewController {
override open var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return .landscapeLeft
}
}