xcode 인스트루먼트에서 메모리가 커 졌으므로 문제를 해결하려고 시도한 후에 오디오 버퍼 콜백 메소드에서 해당 코드를 지울 때 문제가 발생한다는 것을 알았습니다. 해결되었습니다. 때문에,이 콜백은 두 번째 여러 번 발생과 성장의 원인 :메모리 증가 감지
static OSStatus recordingCallback(void *inRefCon,
AudioUnitRenderActionFlags *ioActionFlags,
const AudioTimeStamp *inTimeStamp,
UInt32 inBusNumber,
UInt32 inNumberFrames,
AudioBufferList *ioData)
{
AudioBuffer buffer;
buffer.mNumberChannels = 1;
buffer.mDataByteSize = inNumberFrames * 2;
//NSLog(@"%ld",inNumberFrames);
buffer.mData = malloc(inNumberFrames * 2);
// Put buffer in a AudioBufferList
AudioBufferList bufferList;
bufferList.mNumberBuffers = 1;
bufferList.mBuffers[0] = buffer;
OSStatus status;
status = AudioUnitRender(audioUnit,
ioActionFlags,
inTimeStamp,
inBusNumber,
inNumberFrames,
&bufferList);
..
..
..
free(buffer.mData);
당신이 그 원인이 할 수 여기에 몇 가지 라인을 볼 수 있습니까? buffer.mdata
은 무료입니다. 나는 무언가가있다.
감사합니다.
AudioBufferList는 어디에서 해제 되나요? –
'..'로 대체 한 내용은 무엇입니까? 거기에 어떤 기회에'return' 문이 있습니까? –
거기에는 반환이 없으며 AudioBufferList가 해제되지 않았습니다. 할당 된거야? – user1280535