android - 录制音频,但如果它在 android 上有数据,请保存

标签 android mediarecorder android-mediarecorder

我正在 android 上录制音频,但我现在面临的主要问题是,如果音频中没有数据(就像用户什么也没说一样),我不想保存音频文件。我可以保存它然后检查音频文件的时间或长度然后删除它,但我想在存储文件之前检查它以减少工作并提高性能。

最佳答案

您可以通过以下方式在 MediaRecorder 上访问语音流的振幅:

public double getAmplitude() {
    if (recorder != null)
        return  recorder.getMaxAmplitude();
    else
        return 0;
}

然后你可以检查范围来检测音频上是否有任何有值(value)的数据(比如谈话)

关于android - 录制音频,但如果它在 android 上有数据,请保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53387276/

相关文章:

android - 将 Firebase 存储的 "array"对象转换为 POJO

android - MediaRecorder 给出启动错误或 IllegalStateException

Android 媒体记录器。屏幕旋转后继续录制

java - 将 boolean 值转换为字符串

android - 当应用程序处于后台时, Activity 在“最近”中不可见

java - Android:四个正方形的对齐

android - 将音频从内部麦克风流式传输到 3.5 毫米耳机插孔

android - MediaRecorder 类在稍微延迟后开始录制音频

android - 录制因通知、通话和屏幕超时而中断的音频

android - 捕获率和帧率之间的区别?