I have an application in which user can record audio and play it with some change in pitch. And the output volume power should also be measured. I know about metering properties of avaudioplayer and cocos sound engines. But using these I can't do my needs together. How I can Do these(pitch shifting and level metering) together. Can anybody help me.
EDIT
CDSoundEngine *soundEngine = [[CDSoundEngine alloc] init];
NSArray *defs = [NSArray arrayWithObjects: [NSNumber numberWithInt:1],nil];
[soundEngine defineSourceGroups:defs];
[soundEngine loadBuffer: 0 filePath: soundPath];
ALuint soundID= [soundEngine playSound: 0 sourceGroupId: 0 pitch: PITCH pan: 0.0f gain: 2.0f loop: NO];
This is the code I am currently using it works fine but I cant measure the output power. In the case of AVAudioPlayer there is a property meteringenabled
[player setMeteringEnabled:YES];
and we can retrieve the power by
[player updateMeters];
Float32 peak=[player peakPowerForChannel:0];
But I cant change the pitch by AVAudioPlayer
This is my problem