gpt4 book ai didi

iphone - AVAudioRecorder 中的仪表困惑

转载 作者:行者123 更新时间:2023-12-03 19:12:04 26 4
gpt4 key购买 nike

简单地说,我正在尝试根据 iPhone 麦克风输入流中的分贝读数对某些内容进行口型同步,但我得到的值并不完全是我想要的值。我正在使用 AVAudioRecorder 的peakPowerForChannel 和averagePowerForChannel。 (我知道这是一种相当简单的口型同步技术,但质量不是主要问题)。

当分贝数增加时,仪表会按照我想要的方式使用react(声音越大,值越高,因此我可以将其映射到嘴巴的张开程度),但是当声音快速停止时,值会减小慢慢地,就好像声音逐渐减弱(即在一两秒内逐渐消失)——这不是我想要的。

是否有一种方法可以配置 AVAudioRecorder 使其不具有这种“淡入淡出”效果,或者我可以使用它提供的值执行某些操作以获得所需的输出吗?或者,我可以使用其他工具吗?

谢谢!

最佳答案

您可以将 meteringEnabled 属性重置为 YES,如下所示:

yourRecorderName.meteringEnabled = YES

每次您希望将级别重置为环境级别时调用此命令。这大约需要 0.02 秒,在此期间,电平将短暂降至 0 或 -120 dB,然后重置为环境温度。

或者,您可以使用:

[yourRecorderName stop]
[yourRecorderName record]

这大约需要0.05秒,但在等待时间内等级不会降至0。事实上,什么也不会发生,因为在这种情况下,记录器对象实际上需要 0.05 秒才能停止并再次开始记录。

关于iphone - AVAudioRecorder 中的仪表困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5689774/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com