녹음 된 파일에서 음성 레벨 (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를 얻는다. 그 구현 방법에 대한 다른 아이디어가 있습니까? 내가 나 자신을 사용하지 않은,하지만 애플의 avTouch 아이폰 샘플 AVAudioPlayer에 의해 구동 막대 그래프를 가지고
alt text http://img22.imageshack.us/img22/5778/waveform.png
[https://github.com/prodia/AudioVisualizer](https://github.com/prodia/AudioVisualizer) –