如何在 macOS 应用程序中使用 swift 播放视频?

Posted

技术标签:

【中文标题】如何在 macOS 应用程序中使用 swift 播放视频?【英文标题】:How to play a video in a macOS application with swift? 【发布时间】:2018-12-02 19:13:15 【问题描述】:

我正在尝试获取我项目中的视频,以便使用 swift 在我的 macOS 应用程序中播放。这是我的代码:

import Cocoa
import AVKit
import AVFoundation

class ViewController: NSViewController 
    var player : AVPlayer!
    var avPlayerLayer : AVPlayerLayer!

    @IBOutlet weak var videoPlayer: AVPlayerView!

    override func viewDidLoad() 
        super.viewDidLoad()

        guard let path = Bundle.main.path(forResource: "Background", ofType:"mp4") else 
            debugPrint("Not found")
            return
        

        let playerURL = AVPlayer(url: URL(fileURLWithPath: path))
        let playerView = AVPlayerView()
        playerView.player = playerURL
        playerView.player?.play()
    

我的故事板中还有一个 AVPlayerView,我已连接到我的视图控制器。

它构建并运行良好,但是当我运行它时,什么也没有出现。我只是黑屏。

感谢任何帮助。谢谢!

【问题讨论】:

为什么要创建一个本地的 AVPlayerView 却对 AVPlayerLayer 出口什么也不做? 【参考方案1】:

问题出在这一行:

let playerView = AVPlayerView()

您无需在界面中配置播放器视图,而是创建一个全新的单独播放器视图,然后将其丢弃。

【讨论】:

马特一如既往地赚钱。对于 OP,您了解您需要做些什么来修复它吗?您的故事板中有AVPlayerView 并附加到您的IBOutlet 吗? 是的,我修好了。谢谢!

以上是关于如何在 macOS 应用程序中使用 swift 播放视频?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Swift 中打开邮件面板?苹果系统

在 Swift (macOS) 中控制背景音乐

如何在 macOS 上以编程方式在 Swift 中添加 NSView [重复]

在 Swift 中设计自定义轮播组件需要一些帮助

Swift 4 macOS App - 如何找到重要的用户目录?

如何使用 Swift 代码 (macOS) 发送电子邮件背景