如何使用NSOpenPanel导入视频文件?

时间:2019-05-11 19:42:58

标签: swift xcode nsopenpanel

我想使用NSOpenPanel导入视频文件。我该怎么办?

我想在avkit播放器上播放此视频。也许您还可以帮助播放视频文件?

这是我编写的代码

        let filePicker: NSOpenPanel = NSOpenPanel()

    filePicker.allowsMultipleSelection = false
    filePicker.canChooseFiles = true
    filePicker.canChooseDirectories = false
    filePicker.appearance = NSAppearance(named: .aqua)
    filePicker.styleMask.insert(.unifiedTitleAndToolbar)
    filePicker.styleMask.insert(.titled)
    filePicker.titlebarAppearsTransparent = true
    filePicker.runModal()

    let chosenFile = filePicker.url

    if chosenFile != nil
    {
        let imageImport = NSImage(contentsOf: chosenFile!)
    }

我试图找到有关它的教程,但这似乎不是一个普遍的问题。

1 个答案:

答案 0 :(得分:0)

使用allowedFileTypes属性和Uniform Type Identifiers系统。

如果要过滤Mac OS X认为是电影文件的任何文件(无论扩展名如何),请传入public.movie

filePicker.allowedFileTypes = ["public.movie"]

如果您只想过滤MPEG-4文件(一种特定的电影格式),请传入不同的UTI:

filePicker.allowedFileTypes = [kUTTypeMPEG4 as String] // kUTTypeMPEG4 == "public.mpeg-4"

如果您只允许扩展名为.mp4的文件(MPEG-4编码允许多个扩展名之一),请在以下位置传递扩展名:

filePicker.allowedFileTypes = ["mp4"]

示例从最普通的(所有类型的电影文件)到更具体的(仅MPEG-4编码文件)再到最受限制的(仅.mp4文件)。选择一种适合您的需求。