【问题标题】:get the sound level in decibels using objective-c使用objective-c获取以分贝为单位的声级
【发布时间】:2015-09-01 05:05:43
【问题描述】:

我是 iOS 世界的新手。我有个疑问 。我想实现 dB SPL 计。我有两个按钮 1. 播放歌曲 2. 显示分贝值。当我单击播放歌曲按钮时,它正在播放歌曲。我的问题是在播放声音时,我必须以分贝显示来自 iPhone 的声音值。我在谷歌搜索过。但是我没有任何基本的想法来启动这个应用程序。请给我一个想法来做到这一点。如果我的问题不清楚,请告诉我。

【问题讨论】:

  • 你的问题不清楚。 “分贝值”到底是什么意思?
  • 我的意思是我必须以分贝为单位显示声级
  • And do you know what that means?您将如何测量实际声压?你想根据什么来校准你的价值观?

标签: ios objective-c xcode


【解决方案1】:

您没有指定用于播放的框架。但是假设你使用的是 AVFoundation,你可以使用AVCaptureAudioChannelaveragePowerLevelpeakHoldLevel

您的问题的相关属性似乎是averagePowerLevel,它是(来自文档):

瞬时平均功率电平,以 dB 为单位。 (只读)

有关详细信息,请参阅 Apple 的 AVFoundation 编程指南,includes a section about audio previews

【讨论】:

    【解决方案2】:

    解决您的问题的一种可能方法是将其从对数转换为线性刻度:

    CGFloar linearScale = powf(10.f, logarithmicScale) * 20.f;
    

    logarithmicScale 是您从 AVFoundation 获得的值。线性比例应该更容易可视化!

    【讨论】:

      猜你喜欢
      • 2022-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-30
      • 1970-01-01
      • 2012-04-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多