OSStatus MusicPlayerCallback (
void * inRefCon,
AudioUnitRenderActionFlags * ioActionFlags,
const AudioTimeStamp * inTimeStamp,
UInt32 inBusNumber,
UInt32 inNumberFrames,
AudioBufferList * ioData) {
MusicPlaybackState *musicPlaybackState = (MusicPlaybackState*) inRefCon;
AudioSampleType *sample = musicPlaybackState->samplePtr;
size_t count= 1024;
AudioBuffer buf = ioData->mBuffers[0];
memcpy(buf.mData + ((currentframe)*(2)),
sample,
count);
currentframe+=512;
sample +=512;
musicPlaybackState->samplePtr = sample;
return noErr;
}
////////////Original code that works fine/////////////
OSStatus MusicPlayerCallback (
void * inRefCon,
AudioUnitRenderActionFlags * ioActionFlags,
const AudioTimeStamp * inTimeStamp,
UInt32 inBusNumber,
UInt32 inNumberFrames,
AudioBufferList * ioData) {
MusicPlaybackState *musicPlaybackState = (MusicPlaybackState*) inRefCon;
AudioSampleType *sample = musicPlaybackState->samplePtr;
size_t count= 2;
AudioBuffer buf = ioData->mBuffers[0];
for (int currentframe=0; currentframe<inNumberFrames; currentframe++) {
memcpy(buf.mData + ((currentframe)*(2)),
sample,
count);
sample ++;
musicPlaybackState->samplePtr = sample;
}