iOS EZAudio获取记录时间和文件持续时间

时间:2014-12-10 05:57:06

标签: ios core-audio avaudiorecorder

我正在使用EZAudio框架,您可以找到here。我很难搞清楚如何获取音频文件的录制时间和总时间。在我录制时,我想要一个标签显示导引头的位置,另一个标签显示录制的总时间。例如:2:23 | 3:32。位置标签将每秒更新一次,如果用户记录的时间超过了使文件更长的总时间,则总时间标签才会开始更新。

我尝试过:在核心音频方面,我是一个完全的菜鸟。我正在使用EZAudio库中的OpenGL音频图,它随着我的记录而更新,因此必须有一种方法来进行一些转换来计算时间。

对于我考虑使用该文件准备AVAudioPlayer的总时间,请抓住该方式的持续时间,但这仅在用户未录制时才有效。如果他们正在录制,那么我需要一种方法来动态更新两次。

在另一个应用程序中我使用AVAudioRecorder(这不适用于我的目的),我可以创建NSTimer并激活timerUpdate函数:

_timer = [NSTimer scheduledTimerWithTimeInterval:.01f
                                              target:self
                                            selector:@selector(timerUpdate)
                                            userInfo:nil
                                             repeats:YES];

- (void) timerUpdate
{
if (_recording)
{
    int m = _recorder.currentTime / 60;
    int s = ((int) _recorder.currentTime) % 60;   

    _duration.text = [NSString stringWithFormat:@"%.2d:%.2d", m, s];


}
if (_playing)
{
    _progress.progress = _player.currentTime/_player.duration;
}

}

EZRecorder没有currentTime方法,所以这不起作用。我不是要求你为我编写代码,只是指出我正确的方向。

0 个答案:

没有答案