AVPlayerViewController 不播放本地视频
Posted
技术标签:
【中文标题】AVPlayerViewController 不播放本地视频【英文标题】:AVPlayerViewController doesn't play local videos 【发布时间】: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) 改变这个并检查它
【参考方案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()
【讨论】:
以上是关于AVPlayerViewController 不播放本地视频的主要内容,如果未能解决你的问题,请参考以下文章
AVPlayerViewController 不按 url 播放视频
iOS - 在 AVPlayerViewController 之上添加控件
在 AVPlayerViewController 中禁用手势识别器
在 AVPlayerViewController 中点击播放按钮时执行操作