【问题标题】:AVPlayerViewController doesn't play local videosAVPlayerViewController 不播放本地视频
【发布时间】:2017-01-13 12:16:27
【问题描述】:

我在我的项目中添加了一个 DemoVideo.mp4 并将其添加到复制资源文件中。但是当我运行该应用程序时,它不会播放我的视频。 这是我的方法。

private func setUpAndPlayVideo() {
        guard let videoPath = Bundle.main.path(forResource: "DemoVideo.mp4", ofType: nil) else {
            return 
        }
        let videoURL = NSURL(string: videoPath)
        let player = AVPlayer(url: videoURL! as URL)
        playerViewController = AVPlayerViewController()
        playerViewController.player = player
        playerViewController.view.frame = self.videoPlayerView.bounds
        self.videoPlayerView.addSubview(playerViewController.view)
        playerViewController.showsPlaybackControls = false
        playerViewController.player?.play()
}

我在viewDidAppear 方法中调用了这个方法,但它显示了这个。

【问题讨论】:

  • 请确保videoPath 是有效路径...您已检查为零。
  • 我也检查了视频路径,视频在该目录中可用。 “/Users/MyMac/Library/Developer/CoreSimulator/Devices/7237C529-CDE9-461C-BFE0-7EAF040DFE01/data/Containers/Bundle/Application/F452FD6B-2CEF-4704-B2E6-94F9F1662CAA/AlerisX.app/DemoVideo.mp4”
  • 是在 NSURL 中转换的吗?尝试打印videoURL!
  • 不知道它的字符串
  • guard let videoPath = Bundle.main.path(forResource: "DemoVideo", ofType: .mp4) 改变这个并检查它

标签: ios swift3 avfoundation avplayerviewcontroller avkit


【解决方案1】:
 let path : String = Bundle.main.path(forResource: "charlie", ofType: "mp4")!
 let movieurl : URL = URL(fileURLWithPath: path)
 let movie : AVPlayerViewController = AVPlayerViewController()
 movie.view.frame = self.view.bounds

 let player : AVPlayer = AVPlayer(url: movieurl)
 movie.player = player

 self.view.addSubview(movie.view)
 player.play()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多