美文网首页iOS DeveloperiOS-swift
AVPlayerViewController (iOS9)

AVPlayerViewController (iOS9)

作者: 云抱住阳光太阳没放弃发亮 | 来源:发表于2016-03-03 17:42 被阅读5666次

    在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
    }
    }

    相关文章

      网友评论

        本文标题:AVPlayerViewController (iOS9)

        本文链接:https://www.haomeiwen.com/subject/iufokttx.html