2010-12-29 3 views
4

Я создаю приложение для iPhone, которое может управлять видеофайлами. Я использую классы AVFoundation (например, AVAsset). Я только что зарегистрировал свое приложение как обработчик всех файлов, соответствующих public.movie (через CFBundleDocumentTypes). Однако теперь мое приложение отображается в меню «Открыть с» для файлов .avi, хотя я не думаю, что iOS может воспроизводить фильмы AVI (предварительный просмотр Quick Look будет пытаться, но сбой).Видеоформаты, AVFoundation и UTI

Есть ли лучший способ зарегистрироваться для открытия фильмов? Мне также нужно будет поддерживать общий доступ к файлам, поэтому мне нужно различать, какие файлы в папке «Документы» также являются действительными фильмами, хотя я не понял, как проверить UTI файла. iOS Technology Overview говорит:

Видео технология в прошивке поддерживает воспроизведение видеофайлов с .mov, .mp4, .m4v, и .3gp расширений файлов и используя следующие стандарты сжатия:

  • H.264, до 1,5 Мбит/с, 640 на 480 пикселей, 30 кадров в секунду, версия с низким уровнем сложности базового профиля H.264 с аудио AAC-LC до 160 Кбит/с, 48 кГц, стерео аудио в формате .m4v, .mp4 и .mov
  • H.264 видео, до 768 Кбит/с, 320 на 240 пикселей, 30 кадров в секунду, базовый профиль до уровня 1.3 с аудио AAC-LC до 160 Кбит/с, 48 кГц, стерео аудио в форматах .m4v, .mp4 и .mov
  • MPEG-4 видео, до 2,5 Мбит/с, 640 на 480 пикселей, 30 кадров в секунду, Простой профиль с аудио AAC-LC до 160 кбит, 48 кГц, стереозвук в форматах .m4v, .mp4, и .mov
  • многочисленные аудио форматы, в том числе те, что перечислены в «Audio Technologies»

заранее спасибо за любые советы, которые у вас могут быть.

ответ

3

Я решил, что лучший способ справиться с этим - определить UTI файла, используя функции UT *, чтобы получить UTI из расширения файла. К сожалению, это означает, что файлы AVI все еще импортируются, потому что ОС знает, что они фильмы, даже если они не могут быть воспроизведены, но, похоже, это не вызывает слишком много проблем.

2

только для видео, указав следующее ИМП в Info.plist должно работать:

  • com.apple.m4v-видео (.m4v)
  • com.apple.quicktime-фильм (.qt , .mov)
  • public.mpeg-4 (.mp4)

Вы можете найти ИМП поддерживается AVFoundation в AVMediaFormat.h: https://developer.apple.com/library/mac/#documentation/AVFoundation/Reference/AVFoundation_Constants/Reference/reference.html%23//apple_ref/doc/uid/TP40009539-CH4g-DontLinkElementID_48

Смежные вопросы