2010-12-29 1 views
4

비디오 파일을 조작 할 수있는 iPhone 앱을 만들고 있습니다. AVFoundation 클래스 (예 : AVAsset)를 사용하고 있습니다. 방금 내 응용 프로그램을 public.movie에 부합하는 모든 파일의 처리기로 등록했습니다 (CFBundleDocumentTypes를 통해). 그러나 iOS가 AVI 동영상을 재생할 수 있다고 생각하지 않더라도 (Quick Look 미리보기가 시도되지만 실패합니다.) .avi 파일의 "연결 프로그램"메뉴에 내 애플리케이션이 나열됩니다.비디오 포맷, AVFoundation 및 UTI

영화를 여는 더 좋은 방법이 있습니까? 또한 파일 공유를 지원해야 할 필요가 있으므로 문서의 UTI를 확인하는 방법을 찾지 못했지만 유효한 파일 인 문서 폴더의 파일을 구별해야합니다. iOS Technology Overview는 말한다 :

  • : 아이폰 OS에서

    비디오 기술이 .MOV, .MP4, .m4v입니다, 그리고하고 .3gp 파일 이름 확장 및 사용하여 다음 압축 표준 동영상 파일의 재생을 지원 H.264 비디오, 최대 1.5Mbps, 640x480 픽셀, 초당 30 프레임, 160Kbps의 AAC-LC 오디오, 48kHz, .m4v의 스테레오 오디오가 포함 된 H.264베이스 라인 프로파일의 낮은 복잡도 버전, .mp4 및 .mov 파일 형식

  • H.264 비디오, 최대 768Kbps, 320x240 픽셀, 초당 30 프레임, AAC-LC 오디오 최대 레벨 1.3까지의 기본 프로필 160 Kbps, 48 ​​kHz, .m4v, .mp4 및 .mov 파일 형식의 스테레오 오디오
  • MPEG-4 비디오, 최대 2.5 Mbps, 640 x 480 픽셀, 30 프레임/초, AAC-LC 오디오가있는 단순 프로파일 사전에

감사합니다 "오디오 기술"에 나열된 것들을 포함 160 Kbps까지, 48 kHz로는 .m4v, .MP4 스테레오 오디오, .mov 파일 포맷

  • 다양한 오디오 포맷, 최대 당신이 가진 어떤 조언.

  • 답변

    3

    내가 처리 할 수있는 가장 좋은 방법은 파일 확장명에서 UTI를 가져 오는 UT * 함수를 사용하여 파일의 UTI를 결정하는 것입니다. 불행하게도 이것은 AVI 파일이 여전히 수입된다는 것을 의미합니다. OS는 영화를 볼 수 없더라도 영화이기 때문에 너무 많은 문제를 일으키지 않습니다.

    2

    비디오의 경우에만 Info.plist 파일에 다음과 같은 요로 감염을 지정하는 작업을해야합니다 :

    • com.apple.m4v 비디오 (.m4v입니다)
    • com.apple.quicktime - 영화를 (.qt , .MOV)
    • public.mpeg-4 (.MP4)

    당신은 요로 감염이 AVMediaFormat.h에 AVFoundation 지원 찾을 수 있습니다 https://developer.apple.com/library/mac/#documentation/AVFoundation/Reference/AVFoundation_Constants/Reference/reference.html%23//apple_ref/doc/uid/TP40009539-CH4g-DontLinkElementID_48