- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我需要找到一种方法来获取当前音频输出音量,同时手机在耳机上发出噪音,这个值将转换为分贝级别。除了看似任意的音量设置级别外,android API 似乎没有任何访问恒定音量级别的方法,但我看不到将其转换为标准分贝级别或“响度”测量的方法。我已经看到了一些为此使用麦克风的方法,但不能很好地与耳机配合使用。
有谁知道一种方法可以测量要比较的最大可能分贝(或某些标准)输出电平,或者可能发送到耳机的电压?
欢迎帮助。
最佳答案
注意有 many different meanings “分贝”这个词。它是一种表示相对于引用点的一些量(例如强度/功率/响度)的方法。对于设备内部或音频应用中的音频信号,峰值电平为 0dB。当声音从扬声器发出时,感知响度测量为 Sound Pressure Level ,通常描述为“dB (SPL)”(或加权变体,例如 dBA)。当您看到值表(例如 100dB 的摇滚音乐会)时,这就是正在描述的 SPL。这种测量本身是相对于引用水平的。
因此,API 中可用的是音频数据缓冲区,您可以从中轻松获得原始信号的音频电平(最大为 0dB)。但是,您不能轻易地将其转换为物理响度,因为这将取决于硬件。一种型号的手机和另一种型号的手机会有所不同,并且也取决于耳机。执行此操作的唯一方法是通过使用 SPL 表进行测量来校准手机,但这会给您一个结果,该结果只会在该特定手机上给出合理的结果。
关于android - 可以转换为分贝形式的音频输出电平,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14453674/
我的音频分析功能在 iPad (2) 上的响应比在 iPhone (4) 上的响应更好。它似乎对 iPad 上更柔和的声音很敏感,而 iPhone 需要更大声的输入才能正确响应。无论这是因为麦克风放置
我试图像这样在 Android 上获取麦克风的振幅电平: MediaRecorder recorder = new MediaRecorder(); recorder.setAudioSource(M
我想知道我的手机的tx level。我有一个 AT 命令终端,我只想要 AT 命令来获取 tx level。 我尝试了这个命令: AT*PSENGI=2 但是调制解调器返回: Error 此命令还返回
我真的很想看到一个独占模式音频应用程序的明确示例,该应用程序在一定的输入电平(音量)下从线路输入(不是麦克风)获取输入,并尽最大努力实现这一目标。 (首选 C++,但有总比没有好) 这听起来应该很简单
我正在构建一个 dB 计作为我正在创建的应用程序的一部分,我已经从我的 iPhone 上的麦克风接收峰值和平均功率(值范围从 -60 到 0.4),现在我需要弄清楚如何将这些功率级别转换为类似于此图表
我是一名优秀的程序员,十分优秀!