在iOS開發(fā)中簿盅,播放視頻通常有兩種方式事示,一種是使MPMoviePlayerController(需要導(dǎo)入MediaPlayer.Framework),還有一種是使用AVPlayer。簡而言之MPMoviePlayerController使用更簡單捏鱼,功能不如AVPlayer強(qiáng)大憔足,而AVPlayer使用稍微麻煩點(diǎn)胁附,不過功能更加強(qiáng)大。
在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
}
}