我是iOS世界的新手。我有个疑问 。我想实现dB SPL表。我有两个按钮1.播放歌曲2.显示分贝值。当我点击播放歌曲按钮时,它正在播放歌曲。我的问题是在播放声音时我必须以分贝为单位显示来自iPhone的声音值。我在谷歌搜索过。但我没有得到任何基本的想法来启动这个应用程序。请让我知道这样做。如果我的问题不明确,请告诉我。
答案 0 :(得分:3)
您没有指定用于播放的框架。但假设您使用的是AVFoundation,则可以使用AVCaptureAudioChannel averagePowerLevel
或peakHoldLevel
。
您问题的相关属性似乎是averagePowerLevel
,这是(来自文档):
瞬时平均功率水平,以dB为单位。 (只读)
有关详细信息,请参阅Apple的AVFoundation编程指南,includes a section about audio previews。
答案 1 :(得分:0)
您的问题的可能解决方案可能是将其从对数转换为线性比例:
CGFloar linearScale = powf(10.f, logarithmicScale) * 20.f;
其中logarithmicScale
是您从AVFoundation获得的值。线性刻度应该更容易可视化!