2011-05-10 1 views
3

iPhone 응용 프로그램에 MPEG4 비디오를 제작하는 것과는 별도로 오디오를 녹음하고 있습니다. AVAssetExportSession을 사용하여 이들을 결합하려고합니다.AVAssetExportSession 및 AVMutableComposition을 사용한 EXC_BAD_ACCESS

오디오 세션에서 kAudioFormatAppleLossless 및 AVAudioQualityMax라는 1 개의 채널을 사용하고 있습니다. 비디오는 픽셀 형식 kCVPixelFormatType_32ARGB를 사용하는 AVVideoCodecH264입니다. 오디오가없는이 비디오는 사진 라이브러리를 통해 내 아이폰에서 정상적으로 재생됩니다.

(
    AVAssetExportPresetAppleM4A, 
    AVAssetExportPresetLowQuality, 
    AVAssetExportPresetHighestQuality, 
    AVAssetExportPreset640x480, 
    AVAssetExportPresetMediumQuality 
) 

그것은 나에게이있는 지원되는 파일 형식 말하고 : 나는로 전환하는 경우

(
    "com.apple.quicktime-movie" 
) 

을 수출 내게 말하고있다

이 내가 AVAssetExportPresetHighestQuality을 사용하고, 지원되는 사전입니다 AVAssetExportPresetPassthrough 파일 유형이

(
    "com.apple.quicktime-movie", 
    "com.apple.m4a-audio", 
    "public.mpeg-4", 
    "com.apple.m4v-video", 
    "public.3gpp", 
    "org.3gpp.adaptive-multi-rate-audio", 
    "com.microsoft.waveform-audio", 
    "public.aiff-audio", 
    "public.aifc-audio" 
) 

나는 tr을 가지고 있습니다. 퀵타임 무비와 mpeg 4를 outputFileType으로 사용하고 여전히 동일한 결과를 얻습니다.

편집 : 5 월 10

충돌 꽤 바보 오류로 인해했습니다. 나는 지금 오디오와 비디오를 가지고있다. .. 달콤한!

키 .MP4 확장, exportSession setOutputFileType : AVFileTypeQuickTimeMovie, presetName는 :

+0

NSZombiesEnabled가 아무 것도 표시하지 않습니다. 나는 돌아가서 나의 오래된 질문에 대답 할 것이다. – drfence

답변

2

내 충돌 AVAssetExportPresetPassthrough 간단한 문제였다. 내가 가진 가장 큰 문제는 잘못된 파일 이름 확장자를 사용하는 것이 었습니다. 현재 .mp4, AVFileTypeQuickTimeMovie 및 AVAssetExportPresetPassthrough를 사용 중입니다.

+0

위대한, 다행 당신은 자신의 문제를 해결했다. 답변을 질문에 표시했는지 확인하십시오 (답변을 포함하여). 답이없는 질문으로 표시되지 않습니다. :) – makdad