【问题标题】:How to play video file in AVPlayer outside of app bundle如何在应用程序包之外的 AVPlayer 中播放视频文件
【发布时间】: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 教程,但它仅演示了如何在远程位置播放视频。

【问题讨论】:

  • 这取决于沙箱。如果应用程序被沙盒化,则文件必须位于应用程序容器中(与捆绑包不同)。

标签: swift macos cocoa avkit


【解决方案1】:

正如@vadian 所建议的,问题在于我的应用程序被沙盒化了。如果您关闭沙盒,您将能够读取/写入应用程序包之外的任何文件。这可能看起来像一个方便的解决方案,但不推荐。推荐的方法是打开 sanboxing 并将所需的权限添加到您的权利文件中。

【讨论】:

    猜你喜欢
    • 2020-09-17
    • 1970-01-01
    • 2015-10-16
    • 1970-01-01
    • 1970-01-01
    • 2012-07-05
    • 1970-01-01
    • 2022-01-07
    • 1970-01-01
    相关资源
    最近更新 更多