gpt4 book ai didi

android - 如何在录制时检查音频的强度(强度)?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:21:58 28 4
gpt4 key购买 nike

我正在开发一个录音机应用程序。我想知道在录制音频时有什么方法可以找到音频的强度。我不想将录音保存在任何地方。我只想向用户展示麦克风捕捉到的声音是否大于预定义的阈值。

假设如果声音低于 2 分贝,它应该在红色 Canvas 中显示“低”。一旦声音变大并超过 2 分贝阈值, Canvas 应变为绿色并显示“高”信息。

是否可以使用 MediaRecorder 或者我必须使用 AudioRecorder 类。以及如何解决。

提前致谢

最佳答案

您可以在录制开始时启动另一个线程并使用getMaxAmplitude捕获幅度的函数。

下面是 fragment 。这里我们每 250 毫秒采样一次并计算最大幅度

public void run() {
int i = 0;
while(i == 0) {

try {
sleep(250);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (mRecorder != null) {
amplitude = mRecorder.getMaxAmplitude();

//Here you can put condition (low/high)
Log.i("AMPLITUDE", new Integer(amplitude).toString());
}

}
}

关于android - 如何在录制时检查音频的强度(强度)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11066470/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com