我是 Android 开发的新手,对于我的第一个应用程序,我创建了一个允许录制音频的应用程序。音频记录和音频播放一样有效。应用程序中缺少的一件事是在录制过程中以 vu 表的形式向用户反馈。在iOS平台上,我相信有一个内置的vu计可以用于应用程序。我一直无法在 Android 平台上找到等价物。
我一直在寻找各种致力于 Android 开发的论坛并在 google 上搜索,但我没有找到任何有用的东西。
有谁知道用于录制音频的数字 VU 表的任何编码示例?
有谁知道在录制时显示反馈的任何编码示例?
最佳答案
您必须编写自己的 VU 表,但这并不难。
首先,获取最近一组音频样本的当前最大振幅。循环使用 AudioRecord 填充的缓冲区,并注意最高值。这几乎就是 MediaPlayer.getAmplitude 在内部所做的。
现在您已经获得了振幅,您只需在自定义 View 的 draw() 方法中绘制一个针或一个不断调整大小的矩形(其中高度 = MAX_RECT_HEIGHT * curAmplitude/CONST_MAXIMUM_AMPLITUDE)或任何内容。您必须查看峰值和衰减等,但仅此而已。
您可以在此处查看内置 VU 表动态壁纸的来源:VU meter。