如何在iphone sdk中同时进行输出音频电平测量和音高变化

如何在iphone sdk中同时进行输出音频电平测量和音高变化,iphone,audio,avaudioplayer,pitch,Iphone,Audio,Avaudioplayer,Pitch,我有一个应用程序,用户可以录制音频和播放一些改变音高。 还应测量输出体积功率。 我知道avaudioplayer和cocos声音引擎的测光特性。但使用这些我不能一起满足我的需求。 如何将这些(变桨和水平计量)结合在一起。有人能帮我吗 编辑 CDSoundEngine *soundEngine = [[CDSoundEngine alloc] init]; NSArray *defs = [NSArray arrayWithObjects: [NSNumber numberWithInt:

我有一个应用程序,用户可以录制音频和播放一些改变音高。 还应测量输出体积功率。 我知道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

[播放器设置计量启用:是]

我们可以通过

  [player updateMeters];
    Float32 peak=[player peakPowerForChannel:0];
但是我不能通过AVAudioPlayer改变音高


这是我的问题

@johnykutty使用avaudio播放器无法更改声音。您需要通过外部库来更改音高。

有一种使用外部库的方法:Dirac3音频库-

此处提供了一个简单的教程:


但许可证的价格是1000欧元。有一个免费版本,但您必须阅读许可协议,以了解是否可以在商业产品中使用它(如果我正确阅读了协议,只要您为作者提供学分,您就可以使用它)。

@MDT我添加了相关代码