録音ファイルの音声レベル(dB)を表す視覚的なグラフを作成する必要があります。私はこのようにしてみました:AVAudioPlayer - 測定 - 波形(グラフ)を作成したい
NSError *error = nil;
AVAudioPlayer *meterPlayer = [[AVAudioPlayer alloc]initWithContentsOfURL:[NSURL fileURLWithPath:self.recording.fileName] error:&error];
if (error) {
_lcl_logger(lcl_cEditRecording, lcl_vError, @"Cannot initialize AVAudioPlayer with file %@ due to: %@ (%@)", self.recording.fileName, error, error.userInfo);
} else {
[meterPlayer prepareToPlay];
meterPlayer.meteringEnabled = YES;
for (NSTimeInterval i = 0; i <= meterPlayer.duration; ++i) {
meterPlayer.currentTime = i;
[meterPlayer updateMeters];
float averagePower = [meterPlayer averagePowerForChannel:0];
_lcl_logger(lcl_cEditRecording, lcl_vTrace, @"Second: %f, Level: %f dB", i, averagePower);
}
}
[meterPlayer release];
しかし、それはうまくいきませんでした。私は常に-160 dBを得ます。それを実装する方法に関する他のアイデア?
UPD:ここでは私が最終的に得たものである:
alt text http://img22.imageshack.us/img22/5778/waveform.png
ここをクリックしてください[https://github.com/prodia/AudioVisualizer](https://github.com/prodia/AudioVisualizer) –