2011-09-06 4 views
1

22kHz 웨이브 파일이 있고 22kHz m4a 파일이 필요합니다. 미리 설정된 AVAssetExportPresetAppleM4A를 사용하여 AVAssetExportSession을 실행하면 내 wav가 44kHz로 자동 변환됩니다. ExportSession을 만들기 위해 다른 사전 설정을 시도했지만 성공하지 못했습니다.AVAssetExportSession을 사용하여 22kHz로 wav 파일을 m4a로 내보내는 방법은 무엇입니까?

AVAssetExportSession의 사용자 지정 내보내기 속성을 설정하는 방법이 있습니까? 아니면 How to convert WAV file to M4A?에 나와있는 것과 완전히 다른 방법이 필요합니까? 내가 뭔가를 놓친 경우

AVURLAsset *wavAsset = [AVURLAsset URLAssetWithURL:[NSURL fileURLWithPath:wavPath] options:optionsDict]; 

AVMutableComposition *mutableComposition = [AVMutableComposition composition]; 
[mutableComposition insertTimeRange:CMTimeRangeMake(kCMTimeZero, wavAsset.duration) 
    ofAsset:wavAsset atTime:kCMTimeZero error:&error]; 

AVAssetExportSession *exportSession = [[AVAssetExportSession alloc] 
    initWithAsset:[mutableComposition copy] presetName:AVAssetExportPresetAppleM4A]; 
exportSession.outputURL = [NSURL fileURLWithPath:m4aPath]; 
exportSession.outputFileType = AVFileTypeAppleM4A; 

[exportSession exportAsynchronouslyWithCompletionHandler:^{ 
    switch (exportSession.status) { 
    case AVAssetExportSessionStatusCompleted: { 
     [exportSession release]; 
     completionHandler(nil); 
     break; 
    } 
    case AVAssetExportSessionStatusFailed: { 
     NSLog(@"There was an error while exporting the file: %@", exportSession.error); 
     completionHandler(exportSession.error); 
     break; 
    } 
    // ... handle some other cases... 
    default: { 
     break; 
    } 
    } 
}]; 

이 좋은 것 : 여기

당신은 44kHz의 파일을 원하는 경우 위대한 작품을 내가 지금까지 가지고있는 코드입니다. 사전에

감사합니다, 돔

답변

0

나는 here 사용할 수있는 TPAACAudioConverter과 약간의 행운을 했어. AudioToolbox Framework에서 ExtendedAudioFile API를 사용합니다.

관련 문제