2011-05-10 73 views
3

我正在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

回答

2

我崩潰是一個簡單的問題。我遇到的更大的問題是使用錯誤的文件擴展名。我現在使用.mp4,AVFileTypeQuickTimeMovie和AVAssetExportPresetPassthrough。

+0

很好,很高興你解決了你自己的問題。確保您將問題標記爲已回答(用您自己的答案),以便它不會顯示爲未回答的問題:) – makdad 2011-05-11 19:22:24