簡體   English   中英

每秒檢測音頻文件的幅度?

[英]Detect amplitude of audio file per second?

我想使用 iPhone SDK 檢測每秒音頻文件的振幅(以 dB 為單位)。 根據每秒聲音文件的 dB 幅度,我需要 object 的嘴 animation 的此功能。 我怎樣才能做到這一點? 可以使用哪個音頻框架? 你有任何例子的鏈接嗎?

我已經找到了解決這個問題的方法

我使用了 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 編程: http://www.politepix.com/2010/06/18/decibel-metering-from-an-iphone-audio-unit/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM