AVAudioPlayer - 测量 - 想要构建波形(图形) [英] AVAudioPlayer - Metering - Want to build a waveform (graph)

查看:155
本文介绍了AVAudioPlayer - 测量 - 想要构建波形(图形)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要构建一个可视图表来表示录制文件中的语音级别(dB)。我试着这样做:

I need to build a visual graph that represents voice levels (dB) in a recorded file. I tried to do it this way:

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分贝。关于如何实现的任何其他想法?

It would be cool if it worked out however it didn't. I always get -160 dB. Any other ideas on how to implement that?

UPD :这是我最终得到的:

UPD: Here is what I got finally:

替代文字http://img22.imageshack.us/img22/5778 /waveform.png

推荐答案

好的,好像我要再回答一下我自己的问题: http://www.supermegaultragroovy.com/blog/2009/10/06 / drawing-waveform / 没有很多混凝土,但至少你会知道Apple文档要读什么。

Ok guys, seems I'm going to answer my own question again: http://www.supermegaultragroovy.com/blog/2009/10/06/drawing-waveforms/ No a lot of concretics, but at least you will know what Apple docs to read.

这篇关于AVAudioPlayer - 测量 - 想要构建波形(图形)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆