无法使用 AVPlayer 播放 .mp4 视频文件

pkc*_*456 2 avfoundation ios avplayer avkit avplayerviewcontroller

我正在使用AVPlayer来播放来自 url 的视频。

func playVideoFromUrl(urlString: String){

        let videoURL = URL(string: urlString)
        let player = AVPlayer(url: videoURL!)
        let playerViewController = AVPlayerViewController()
        playerViewController.player = player

        let delegate : AppDelegate = UIApplication.shared.delegate as! AppDelegate
        delegate.window?.rootViewController?.present(playerViewController, animated: true) {
            playerViewController.player!.play()
        }
    }
Run Code Online (Sandbox Code Playgroud)

url of video: - “ http://gsn-input-dev.s3.amazonaws.com/public/video/00229/9229d4ad2a0c547e7bfa51e3fbef806f.mp4

我没有在控制台收到任何警告。下面是模拟器的截图。我做错了什么?

在此处输入图片说明

Imr*_*yes 5

我已经完成了你想做的事。这是我的方法:首先导入 AVFoundation,AVKit(我相信你有)然后我像这样配置了我的视图控制器

   @IBOutlet weak var avPlayerView: UIView! // drag a UIView to view controller
   var videoPlayer = AVPlayer()
   var avPlayerViewController = AVPlayerViewController()

   override func viewDidLoad() {
     super.viewDidLoad()

     let videoURL = URL(string: "http://gsn-input-dev.s3.amazonaws.com/public/video/00229/9229d4ad2a0c547e7bfa51e3fbef806f.mp4")

    self.playVideo(url: videoURL!)

}
Run Code Online (Sandbox Code Playgroud)

playVideo 功能配置如下

  func playVideo(url: URL) {
       self.videoPlayer = AVPlayer(url: url)
       self.avPlayerViewController = AVPlayerViewController()
       self.avPlayerViewController.player = self.videoPlayer
       avPlayerViewController.view.frame = avPlayerView.frame
       self.addChildViewController(avPlayerViewController)
       self.view.addSubview((avPlayerViewController.view)!)

   }
Run Code Online (Sandbox Code Playgroud)

打开您的 info.plist 作为源代码在此处输入图片说明

然后将此添加到 info.plist

   <key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>
Run Code Online (Sandbox Code Playgroud)

屏幕截图如下

在此处输入图片说明