带AVAssetExportSession和AVMutableComposition的EXC_BAD_ACCESS

问题描述:

我正在iPhone应用程序中构建一个MPEG4视频的独立录制音频。我试图将这些使用AVAssetExportSession结合起来。带AVAssetExportSession和AVMutableComposition的EXC_BAD_ACCESS

音频会话正在使用1个频道,kAudioFormatAppleLossless和AVAudioQualityMax。该视频是AVVideoCodecH264,使用像素格式类型kCVPixelFormatType_32ARGB。这个没有音频的视频可以通过照片库在我的iphone上播放。

出口商告诉我这些都是支持的预置,我使用AVAssetExportPresetHighestQuality:

(
    AVAssetExportPresetAppleM4A, 
    AVAssetExportPresetLowQuality, 
    AVAssetExportPresetHighestQuality, 
    AVAssetExportPreset640x480, 
    AVAssetExportPresetMediumQuality 
) 

和它告诉我,这是支持的文件类型:

(
    "com.apple.quicktime-movie" 
) 

如果我切换到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 ied quicktime电影和MPEG4作为outputFileType,仍然得到相同的结果。

编辑:5月10日

崩溃是由于一个非常愚蠢的错误。我现在有音频和视频......甜蜜!

主要是.MP4的扩展名,exportSession setOutputFileType:AVFileTypeQuickTimeMovie,presetName:AVAssetExportPresetPassthrough

+0

NSZombiesEnabled不显示任何内容。我会回去回答一些我的旧问题。 – drfence 2011-05-11 00:54:18

我崩溃是一个简单的问题。我遇到的更大的问题是使用错误的文件扩展名。我现在使用.mp4,AVFileTypeQuickTimeMovie和AVAssetExportPresetPassthrough。

+0

很好,很高兴你解决了你自己的问题。确保您将问题标记为已回答(用您自己的答案),以便它不会显示为未回答的问题:) – makdad 2011-05-11 19:22:24