我有一个应用程序,用户可以在其中录制音频并在音调上有一些变化的情况下播放它。并且还应测量输出体积功率。我知道 avaudioplayer 和 cocos 声音引擎的计量特性。但是使用这些我不能一起满足我的需求。我怎么能一起做这些(音高转换和电平测量)。有谁能够帮助我。
编辑
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];
这是我目前使用的代码,它工作正常,但我无法测量输出功率。在 AVAudioPlayer 的情况下,有一个属性 meteringenabled
[玩家 setMeteringEnabled:YES];
我们可以通过
[player updateMeters];
Float32 peak=[player peakPowerForChannel:0];
但我不能通过 AVAudioPlayer 改变音高
这是我的问题