오디오를 녹음하고 저장하는 컨트롤이 앱에 있습니다. AVMutableComposition을 사용하여 새 레코딩을 기존 레코드에 추가하고 사용자가 저장할 준비가되면 AVAssetExportSession을 사용하여 모든 것을 새 파일에 쓰려고합니다. 이 작업을 수행 할 때 오류가 없으며 파일이 작성됩니다. 그러나 해당 파일을 재생할 수 없으며 완성 블록이 호출되지 않습니다. 이 문제의 원인은 무엇입니까?AVAssetExportSession은 AVAudioRecorder에서 녹음 한 오디오를 내 보내지 않습니다.
AVAssetExportSession *exportSession = [AVAssetExportSession exportSessionWithAsset:composition presetName:AVAssetExportPresetAppleM4A];
exportSession.outputURL = URL;
exportSession.outputFileType = AVFileTypeAppleM4A;
exportSession.shouldOptimizeForNetworkUse = YES;
[exportSession exportAsynchronouslyWithCompletionHandler:^{
NSLog(@"Export Complete");
}];
composition
변수가 하나 이상의 AVURLAssets (하나 이전 또는 현재 기록)에 추가 않은 AVMutableComposition이다
여기서 코드이다.
UPDATE
이 도움이된다면 나도 몰라,하지만 난 오디오를 녹음 AVAudioRecorder를 사용하고 있는데 나는 다음과 같은 설정을 사용하고 있습니다 :
[recordSetting setObject:[NSNumber numberWithInt:kAudioFormatMPEG4AAC] forKey:AVFormatIDKey];
[recordSetting setObject:[NSNumber numberWithFloat:44100.0] forKey: AVSampleRateKey];
[recordSetting setObject:[NSNumber numberWithInt:1] forKey:AVNumberOfChannelsKey];
[recordSetting setObject:[NSNumber numberWithInt:64000] forKey:AVEncoderBitRateKey];
[recordSetting setObject:[NSNumber numberWithInt: AVAudioQualityMedium] forKey: AVEncoderAudioQualityKey];
업데이트 2을
녹음 된 파일에서 생성 된 AVURLAsset을 사용하여 동일한 코드를 사용해 본 결과 AVMutableComposition을 잘라내어 문제가 없는지 확인했습니다. 아직 작동하지 않습니다.
이 문제에 대한 도움을 주시면 대단히 감사하겠습니다.