【问题标题】:AVPlayerView crash in SwiftSwift 中的 AVPlayerView 崩溃
【发布时间】:2021-12-16 19:18:36
【问题描述】:

在我的 macOS 应用程序中,我有一个带有 AVPlayerView 的窗口。从 Xcode 运行时,窗口打开并播放视频。但是,当我导出(存档>复制应用程序)应用程序并打开它时,AVPlayerView 崩溃的窗口。

我怀疑问题是应用导出时无法访问视频文件。

import Cocoa
import AVKit

class IntroVC: NSViewController{
    override func viewDidLoad() {
        super.viewDidLoad()
        avViewConfig()
    }
    @IBOutlet weak var avView: AVPlayerView!
    
    
    func avViewConfig(){
        
        if let filePath = Bundle.main.path(forResource: "one", ofType: ".mp4") {
            let filePathURL = NSURL.fileURL(withPath: filePath)
            
            let player = AVPlayer(url: filePathURL)
            
            avView.player = player
            avView.player?.play()
        }
    }
}

我通过将视频文件直接拖到项目文件夹中来添加它。

【问题讨论】:

  • 添加到目标复选标记应该需要启用。你试过了吗?
  • 我实际上一直在尝试选择目标。在屏幕截图中,我忘记选择目标了。

标签: swift avplayer avplayerview


【解决方案1】:

仍然不知道问题出在哪里,但从情节提要中删除 AVPlayerView 并以编程方式添加一个似乎已经解决了问题。

class IntroVC: NSViewController{
    override func viewDidLoad() {
        super.viewDidLoad()
        avViewConfig()
        avPlayerView.frame = self.view.frame
        view.addSubview(avPlayerView)
    }
    
    var avPlayerView = AVPlayerView()
    
    func avViewConfig(){
        
        if let filePath = Bundle.main.path(forResource: "one", ofType: ".mp4") {
            let filePathURL = NSURL.fileURL(withPath: filePath)

            let player = AVPlayer(url: filePathURL)

            avPlayerView.player = player
            avPlayerView.player?.play()
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-01
    • 2017-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-25
    相关资源
    最近更新 更多