【问题标题】:sound meter android声音计安卓
【发布时间】:2013-02-18 13:02:14
【问题描述】:

我正在尝试在 android 中实现一个以 dB 为单位的声级计,但我还没有找到开始的方法。我已经查看了 androids API 并没有找到任何我认为合适的东西。谁能帮帮我?

【问题讨论】:

    标签: android audio


    【解决方案1】:

    这通常是不可能的,因为“dB”的不同含义之间存在混淆,而且您无法测量物理声压级(这通常是人们谈论“声级计”时的意思) ) 没有经过校准的设备。查看我之前对类似问题的回答:

    【讨论】:

    • 色度计应用程序存在同样的问题。如果它没有校准它是没有用的。
    【解决方案2】:

    尝试使用AudioRecord 将音频录制到缓冲区,然后根据原始 PCM 数据测量 dB。

    初始化AudioRecord

    AudioRecord record = new AudioRecord(AudioSource.MIC, SAMPLING_RATE, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, bufferSize);
    

    从 MIC 读取样本

    short[] buff = new short[8000];
    record.read(buff, 0, buff.length); 
    

    【讨论】:

    • 这可用于计算表示数字信号幅度的 dB 功率电平标度,其最大电平为 0dB,但如果您需要声压级则无济于事值(例如,其中 120dB(SPL) = 摇滚音乐会的音量)
    猜你喜欢
    • 2013-04-23
    • 2011-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-25
    • 2014-06-20
    • 1970-01-01
    相关资源
    最近更新 更多