Seems like the problem is in your streamer.
If you will share your streamer code maybe we could identify the problem.

Regards,
Yuri.

On Mar 1, 2015, at 20:49, Patrick J. Collins <[email protected]> 
wrote:

>> You should allocate ioData.mBuffers[0].mDataByteSize bytes.
> Ah ok...  Now that makes sense.
> 
> So, now when I play the samples, it sounds like harsh white noise...  So
> something still is wrong.
> 
> The description for the samples is:
> 
>    asbd.mSampleRate = 48000;
>    asbd.mFormatID = kAudioFormatLinearPCM;
>    asbd.mFormatFlags = kAudioFormatFlagIsSignedInteger;
>    asbd.mFramesPerPacket = 1;
>    asbd.mChannelsPerFrame = 1;
>    asbd.mBitsPerChannel = 16;
>    asbd.mBytesPerPacket = 2;
>    asbd.mBytesPerFrame = 2;
> 
> Which should be right for a 48khz 16-bit AIF, right?
> 
> I can output other 16-bit signed integer samples, and they sound correct...  
> So what else could be causing this?
> 
> This is the code so far:
> 
>    ExtAudioFileRef inputFile;
> 
>    CheckResult(ExtAudioFileOpenURL((__bridge CFURLRef)self.url,
>                                    &inputFile),
>                "ExtAudioFileOpenURL failed");
> 
>    AudioStreamBasicDescription asbd;
>    UInt32 propSize = sizeof(asbd);
>    CheckResult(ExtAudioFileGetProperty(inputFile, 
> kExtAudioFileProperty_FileDataFormat, &propSize, &asbd), "get description 
> failed");
> 
>    UInt32 numberOfFrames = 0;
>    propSize = sizeof(SInt64);
>    CheckResult(ExtAudioFileGetProperty(inputFile, 
> kExtAudioFileProperty_FileLengthFrames, &propSize, &numberOfFrames), 
> "GetProperty failed");
> 
>    AudioBufferList ioData = {0};
>    ioData.mNumberBuffers = 1;
>    ioData.mBuffers[0].mNumberChannels = 1;
>    ioData.mBuffers[0].mDataByteSize = asbd.mBytesPerPacket * numberOfFrames;
>    ioData.mBuffers[0].mData = malloc(ioData.mBuffers[0].mDataByteSize);
> 
>    ExtAudioFileRead(inputFile, &numberOfFrames, &ioData);
> 
>    NSMutableArray *arr = [NSMutableArray arrayWithCapacity:numberOfFrames];
> 
>    for (int i = 0; i < numberOfFrames; i++) {
>        SInt16 val = ((SInt16 *)ioData.mBuffers[0].mData)[i];
>        [arr addObject:[NSNumber numberWithInt:val]];
>    }
> 
>    [self.sampler stream:[arr copy] sampleRate:48000]; // this works with 
> other NSArrays of 16-bit signed samples...
> 
>    free(ioData.mBuffers[0].mData);
>    ExtAudioFileDispose(inputFile);
> 
> Patrick J. Collins
> http://collinatorstudios.com
> 


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/coreaudio-api/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to