How to use AEAudioFileReader?
Hello I need some guide on how to use readFileatURL method. I want to read the mdata and use the floats to plot a waveform.
Do i use this in the audio thread? or before?
i receive the error
ExtAudioFileSetProperty(kExtAudioFileProperty_ClientDataFormat): -50
` UInt32 leng;
AudioStreamBasicDescription desc;
desc.mSampleRate = 44100; // GIVE YOUR SAMPLING RATE
desc.mFormatID = kAudioFormatLinearPCM;
desc.mFormatFlags = kLinearPCMFormatFlagIsFloat;
desc.mChannelsPerFrame = 2; // stereo
desc.mFramesPerPacket = 1;
desc.mBytesPerPacket = desc.mFramesPerPacket * desc.mBytesPerFrame; // = sizeof(Float32)
AudioBufferList buffer;
AudioBuffer mBuffer;
[AEAudioFileReader readFileAtURL:amen.url targetAudioDescription:desc readBlock: ^(const AudioBufferList *buffer,UInt32(mBuffer)){
printf("argument to a method call");
} completionBlock:^(NSError* error){
printf("%s", error);
}]; `
Thanks
Comments
I was able to get integers by adding better parameters
AudioStreamBasicDescription desc; desc.mSampleRate = 44100; // GIVE YOUR SAMPLING RATE desc.mFormatID = kAudioFormatLinearPCM; desc.mFormatFlags = kLinearPCMFormatFlagIsFloat; desc.mChannelsPerFrame = 1; // Mono desc.mFramesPerPacket = 1; desc.mBytesPerPacket = sizeof(Float32); desc.mBitsPerChannel = 32; desc.mBytesPerFrame = sizeof(Float32); desc.mReserved = 0;
I just need to know how to convert the integers to float