繁体   English   中英

怎么能在电话录音机Android中压缩音频

[英]How Can Compress Audio In Call Recorder Android

我在Android Studio中使用此代码捕获音频但大小音频大(1分钟= 1MB)如何在没有质量损失的情况下压缩音频

AudioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
AudioRecorder.setOutputFormat(MediaRecorder.OutputFormat.AAC_ADTS);
AudioRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
AudioRecorder.setAudioChannels(1);
AudioRecorder.setAudioEncodingBitRate(44100);
AudioRecorder.setAudioSamplingRate(128000);

您正在将编码器设置为AMR_N8。 大约1 MB /秒的声音适合该编码器。 如果要压缩它,可以选择其他编码,例如Vorbis。

请注意,不同的编码器有不同的用途。 如果没有质量损失,它们都不会压缩 - 我们将模拟声音转换为数字值,总是存在质量损失。 不同的编码器针对不同用途进行了优化。 AMR针对人声进行了优化。 它过滤掉不在声音范围内的频率。 这是一种质量损失,但它可能是你想要的(如在通话中)。 你无法获得一切 - 你将不得不牺牲尺寸或质量。 我建议你研究一下https://developer.android.com/reference/android/media/MediaRecorder.AudioEncoder.html上的不同编码,找出最适合你的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM