gpt4 book ai didi

java - 在android中使用哪种音频格式来存储录音

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:04:31 25 4
gpt4 key购买 nike

我正在开发从麦克风录制语音的应用程序,目前我正在将录制的音频存储在波形文件中,但波形的大小正在成为一个问题。

我才知道android没有mp3解码器是真的吗?如何以压缩形式存储录制的音频?

我正在使用 AudioRecord 类进行录音,不想使用 MediaRecorder。

最佳答案

使用 AudioRecord 不会给您很多选择。它仅以 PCM 格式存储音频。您只能通过将 channel 配置设置为 CHANNEL_IN_MONO 并将音频格式设置为 ENCODING_PCM_8BIT 来降低尺寸。此外,您可以尝试扩展 AudioRecord 类并覆盖 read() 方法。然后您必须自己转换音频,但不推荐这样做。

我知道您不希望这样,但最好的选择是重构您的代码以使用 MediaRecorder。以下是引用文档中的示例:

MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(PATH_NAME);
recorder.prepare();
recorder.start(); // Recording is now started
...
recorder.stop();
recorder.reset(); // You can reuse the object by going back to setAudioSource() step
recorder.release(); // Now the object cannot be reused

在此站点上 http://developer.android.com/guide/appendix/media-formats.html#core考虑到 Android 版本,您有漂亮的表格展示了所有支持的格式。试试这些 AAC LC、AMR-NB、AMR-WB。除了尺寸检查质量。

关于java - 在android中使用哪种音频格式来存储录音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23492279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com