【发布时间】:2012-04-13 07:36:49
【问题描述】:
我有一个应用程序,用户可以在其中录制音频并在音调发生一些变化的情况下播放它。 并且还应测量输出体积功率。 我知道 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 的情况下 有一个属性计量启用
[玩家 setMeteringEnabled:YES];
我们可以通过
来获取能量 [player updateMeters];
Float32 peak=[player peakPowerForChannel:0];
但我无法通过 AVAudioPlayer 更改音高
这是我的问题
【问题讨论】:
-
@MDT 我已经添加了相关代码
标签: iphone audio avaudioplayer pitch