Ios4 在AudioQueueBuffer中,AudioQueueLevelMeterState出现在何处?

Ios4 在AudioQueueBuffer中,AudioQueueLevelMeterState出现在何处?,ios4,core-audio,audioqueue,Ios4,Core Audio,Audioqueue,我想做一些像拍切片的事情 我可以设置计时器定期获取AudioQueueLevelMeterState 但是,似乎没有办法将查询AudioQueueLevelMeterState的时间与AudioQueueBuffer的内容联系起来 例如,假设我的缓冲区是1秒长。我运行一个计时器,每秒查询仪表状态60次。在0.5秒时,我达到了我想要的水平。因此,我想从我获得级别的那一点开始,即剩余的0.5秒,获取音频缓冲区的一大块 有什么想法吗?可以说,有什么方法可以在缓冲区中完成这一切 非常感谢您的建议 非常感


我想做一些像拍切片的事情

我可以设置计时器定期获取AudioQueueLevelMeterState

但是,似乎没有办法将查询AudioQueueLevelMeterState的时间与AudioQueueBuffer的内容联系起来

例如,假设我的缓冲区是1秒长。我运行一个计时器,每秒查询仪表状态60次。在0.5秒时,我达到了我想要的水平。因此,我想从我获得级别的那一点开始,即剩余的0.5秒,获取音频缓冲区的一大块

有什么想法吗?可以说,有什么方法可以在缓冲区中完成这一切

非常感谢您的建议


非常感谢,xj

查看Apple Speak Here示例项目。他们有一些类似的设置,你也许可以破解。

最终解决了这个问题。我放弃了音频队列作为录制音频的一种方式,转而选择了音频单元。AudioQueue非常困难,最终我不得不严肃地质疑它是否是用于我想做的事情的正确API。在一些论坛上,人们说AudioUnits很难使用,但老实说,在我经历了AudioQueue之后,AudioUnit非常简单

无论如何,回答我自己的问题。最终,我不得不解决计量和记录的同步问题,所以我放弃了计时器机制来采样水平。我仍然使用AudioQueue,但只是为了计量。在录音回调中,我从音频队列中获取
kAudioQueueProperty_CurrentLevelMeter
。录音回调接收帧计数,这样我就可以完美地将帧位置与仪表样本同步