AVAudioRecorderを使用してAACでエンコードされた.m4aファイルを作成して保存しています。これにより、再生可能な.m4aファイルが正常に生成されます。次に、AVAssetExportSessionを使用してファイルを処理し、ファイルにメタデータを追加します。以下のコードは、同様のサイズ(ソースより1 KB小さい)の.m4aファイルを生成していますが、再生すると、無音になります。
NSURL* url = [NSURL fileURLWithPath:self.m4aPath];
AVURLAsset* asset = [AVAsset assetWithURL:url];
AVMutableMetadataItem* t = [AVMutableMetadataItem metadataItem];
t.key = AVMetadataCommonKeyTitle;
t.keySpace = AVMetadataKeySpaceCommon;
t.value = @"Unit Test";
NSArray* metadata = [NSArray arrayWithObject:t];
AVAssetExportSession *exportSession = [[AVAssetExportSession alloc] initWithAsset:asset presetName:AVAssetExportPresetAppleM4A];
exportSession.outputURL = [NSURL fileURLWithPath:[[NSFileManager rawRecordingsDirectory] stringByAppendingPathComponent:@"test.m4a"]];
exportSession.outputFileType = AVFileTypeAppleM4A;
exportSession.metadata = metadata;
[exportSession exportAsynchronouslyWithCompletionHandler:^{....}];
もう1つの情報:Finderでソースファイルとエクスポートされたファイルを見ると、ソースファイルには黒いiTunesアイコンがあり、エクスポートされたファイルには白いiTunesアイコンがあります。これが実際に何を意味するのかはわかりませんが、役立つことを願っています。さらに、ソースをダブルクリックするとiTunesに追加されて再生が開始され、エクスポートされたソースをダブルクリックするとiTunesが開きますが、何も実行されません。