サンプルをファイルに保存するために、AudioToolBox フレームワークの ExtAudioFileCreateWithURL と ExtAudioFileWrite を使用しました。しかし、NSDocument を使用しているため、NSFileWrapper に保存する必要があります。
- (NSFileWrapper *)fileWrapperOfType:(NSString *)typeName error:(NSError **)outError
NSFileWrapperinitRegularFileWithContents:(NSData*)contents
メソッドを使用できるように、NSMutableData オブジェクトで ExtAudioFileXXX 関数を使用する方法はありますか?
ファイルに保存するためのコードを削除しました (動作します):
AudioStreamBasicDescription file_desc;
FillOutASBDForLPCM(file_desc, _sample_rate, _channel_count, 32, 32, true, false);
OSStatus rv = ExtAudioFileCreateWithURL(url, kAudioFileWAVEType, &file_desc, NULL, kAudioFileFlags_EraseFile, &fout);
if (rv == noErr){
int buff_size = sizeof(AudioBufferList) + sizeof(AudioBuffer);
AudioBufferList* bufferList = (AudioBufferList*)malloc(buff_size);
bufferList->mNumberBuffers = 1;
bufferList->mBuffers[0].mData = _samples;
bufferList->mBuffers[0].mNumberChannels = _channel_count;
bufferList->mBuffers[0].mDataByteSize = _channel_count * _frame_count * sizeof(float);
ExtAudioFileWrite(fout, _frame_count, bufferList);
free(bufferList);
ExtAudioFileDispose(fout);
}