Ily*_*ski 2 iphone cocoa-touch avaudiorecorder
AVAudioRecorder的peakPowerForChannel和averagePowerForChannel方法有什么区别?
为什么返回的值是负数?不是没有声音它应该是0,当声音的幅度上升时它会上升吗?如何转换为更"可读"的格式?
谢谢.
luc*_*ius 15
峰值功率意味着获取所有样本的所有绝对值的最大值.它对于防止音频剪辑很有用.
平均功率是样本的RMS(均方根).这对于确定音频对人耳的声音有多大是有用的.
该值为负,因为它以分贝表示,其中0 dB等于音频系统的最大值.它是log10比例,转换公式为:
db = 10 * log10 (level);
Run Code Online (Sandbox Code Playgroud)
其中db是分贝,level是标量值,范围从0.0到1.0.所以当等级为0.0(无声)时,结果为负无穷大.
如果你想要一个"可读"的格式,你可以使用一个电平表(UIProgressView或你自己的),其中max是0.0,最小值是-60.0(你可以根据本底噪声进行调整).一旦习惯了分贝,它们比线性水平更有意义.
| 归档时间: |
|
| 查看次数: |
4482 次 |
| 最近记录: |