android - 获取麦克风音量

标签 android

如何获取通过 android 麦克风传入的音频流的音量?

最佳答案

可能有更简单的方法,但我知道可行的方法是使用配置为观看 MediaRecorder.AudioSource.MIC 音频的 AudioRecord 对象8 位源和记录 (AudioFormat.ENCODING_PCM_8BIT)。您需要一个在后台运行的线程,并通过 read() 调用不断轮询对象的音频,这会用来自麦克风的音频数据填充给定的字节数组。

因为您是以 8 位录制的,所以每个音频样本的最大范围是 -128 到 127(虽然我可能有这个错误 - 它可能是从 0 到 256)。您将不得不尝试从返回的字节数组中获取最大幅度的字节,或者可能根据您的应用程序的需要获取 RMS 平均值。字节数组的大小也会在确定您的应用程序能够对输入音频音量进行采样的频率方面发挥作用。

关于android - 获取麦克风音量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3928202/

相关文章:

具有 native react 的Android WebView显示白屏

android - 如何扩展按钮的样式?

android - 如何更改地理围栏的形状

java - 为什么不能将 android.os.build.VERSION 解析为变量?

android 中带有 HttpsURLConnection 的 java.net.protocolException

android - 在 Android TextView 中使用 Google Truth

android - HostnameVerifier 正确实现

android - SmsManager 导致 com.android.phone 强制随机关闭

android - Intent 类别如何匹配?

java - android从txt文件中删除已知行