Как я могу импортировать видеофайлы с помощью NSOpenPanel? - PullRequest
1 голос
/ 11 мая 2019

Я хочу импортировать видеофайлы с помощью 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 голосов
/ 12 мая 2019

Используйте свойство 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).Выберите тот, который соответствует вашим потребностям.

...