我想使用iPhone SDK每秒检测音频文件的幅度(以dB为单位)。根据每秒声音文件的dB大小,我需要此功能用于对象的嘴部动画。我怎样才能做到这一点 ?使用哪种音频框架是可能的?
您是否有任何示例的链接?

最佳答案

我已经找到解决这个问题的方法

我已经使用了AVAudioPlayer的peakPowerForChannel和averagePowerForChannel方法来获取目标

  AVAudioPlayer *avPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:recordedTmpFile error:&error];
    avPlayer.delegate = self;

    avPlayer.meteringEnabled = YES;
     [avPlayer prepareToPlay];
     [avPlayer play];


 NSTimer *levelTimer = [NSTimer scheduledTimerWithTimeInterval: 0.03 target: self selector: @selector(levelTimerCallback:) userInfo: nil repeats: YES];

此方法返回peakPowerForChannel和averagePowerForChannel
- (void)levelTimerCallback:(NSTimer *)timer {

    [avPlayer updateMeters];
    NSLog(@"Peak left: %f Avg right: %f", [avPlayer peakPowerForChannel:0],[avPlayer averagePowerForChannel:0]);


}

关于iphone - 每秒检测音频文件的振幅?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6674734/

10-13 04:29