0
오디오 장치를 기반으로하는 Objective-C 오디오 응용 프로그램을 가지고 있고 사운드를 재생 한 다음 중지 한 다음 다른 사운드를 재생하면 첫 번째 사운드의 마지막 버퍼가 들립니다. 나는 ioData 나 다른 것을 해방해야한다고 생각하지만, 모든 시도는 실패했다.메모리에서 재생 마지막 버퍼 제거
static OSStatus playbackCallback(void *inRefCon, AudioUnitRenderActionFlags *ioActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, UInt32 inNumberFrames, AudioBufferList *ioData)
{
RemoteIOPlayer *remoteIOplayer = (__bridge RemoteIOPlayer *)inRefCon;
for (int i = 0 ; i < ioData->mNumberBuffers; i++)
{
AudioBuffer buffer = ioData->mBuffers[i];
UInt32 *frameBuffer = buffer.mData;
for (int j = 0; j < inNumberFrames; j++)
{
frameBuffer[j]= [[remoteIOplayer inMemoryAudioFile] getNextPacket:inBusNumber];
}
}
return noErr;
}
제발 도와주세요 :) 감사합니다.