如何在应用程序包之外的 AVPlayer 中播放视频文件
Posted
技术标签:
【中文标题】如何在应用程序包之外的 AVPlayer 中播放视频文件【英文标题】:How to play video file in AVPlayer outside of app bundle 【发布时间】:2018-11-30 08:35:19 【问题描述】:如何播放未包含在我的 app bundle 中的视频文件? 我可以在我的 app bundle 中播放视频
@IBOutlet weak var playerView: AVPlayerView!
override func viewDidLoad()
super.viewDidLoad()
let videoUrl = Bundle.main.url(forResource: "captionsSample", withExtension: "mp4")!
let item = AVPlayerItem(url: videoUrl)
let player = AVPlayer(playerItem: item)
playerView.player = player
但是当我尝试从桌面或其他位置播放时,AVPlayer 不会播放它。
我想构建一个视频播放器,只要点击它就会播放视频文件。
我还查看了 Apple 教程,但它仅演示了如何在远程位置播放视频。
【问题讨论】:
这取决于沙箱。如果应用程序被沙盒化,则文件必须位于应用程序容器中(与捆绑包不同)。 【参考方案1】:正如@vadian 所建议的,问题在于我的应用程序被沙盒化了。如果您关闭沙盒,您将能够读取/写入应用程序包之外的任何文件。这可能看起来像一个方便的解决方案,但不推荐。推荐的方法是打开 sanboxing 并将所需的权限添加到您的权利文件中。
【讨论】:
以上是关于如何在应用程序包之外的 AVPlayer 中播放视频文件的主要内容,如果未能解决你的问题,请参考以下文章
向上滑动(将应用程序置于后台)并且视频在自定义 AVPLayer 中播放时如何停止画中画?