Par*_*gat 7 android voice-recording
我正在研究录音机应用程序.我想知道有没有办法在录制时找到音频的强度.我不想在任何地方保存录音.我只想向用户显示麦克风捕获的声音是否大于预定义的阈值.
假设声音在低于2分贝的情况下被捕获,它应该在红色画布中显示为"低".一旦声音变大并超过2分贝阈值,画布应该变为绿色并显示"高"消息.
是否可以使用MediaRecorder或我必须使用AudioRecorder类.以及如何解决这个问题.
提前致谢
Vip*_*hah 11
您可以在录制开始和使用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());
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2361 次 |
| 最近记录: |