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

前端之家收集整理的这篇文章主要介绍了android – 如何在录制时检查音频的强度(强度)?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在研究录音机应用程序.我想知道有没有办法在录制时找到音频的强度.我不想在任何地方保存录音.我只想向用户显示麦克风捕获的声音是否大于预定义的阈值.

假设声音在低于2分贝的情况下被捕获,它应该在红色画布中显示为“低”.一旦声音变大并超过2分贝阈值,画布应该变为绿色并显示“高”消息.

是否可以使用MediaRecorder或我必须使用AudioRecorder类.以及如何解决这个问题.

提前致谢

解决方法

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

下面是片段.我们每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相关文章