gpt4 book ai didi

android - 以 AMR 文件格式录制音频

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

我想以 AMR 文件格式录制音频。我目前正在使用波纹管代码来录制音频:

outputFile = Environment.getExternalStorageDirectory().getAbsolutePath() + "Sample.3gp";

myRecorder = new MediaRecorder();
myRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
myRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
myRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
myRecorder.setOutputFile(outputFile);

但它会生成 .3gp 文件。如何获取 .amr 文件?将输出文件更改为 Sample.amr 有效。但这是正确的方法吗?请帮助

编辑现在解决了

这是我的愚蠢错误:我使用了 myRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);

应该是——

myRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

所以下面的代码适用于以 AMR 格式录制:

outputFile = Environment.getExternalStorageDirectory().getAbsolutePath() + "Sample.amr";

myRecorder = new MediaRecorder();
myRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
myRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);
myRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
myRecorder.setOutputFile(outputFile);

最佳答案

引用android OutputFormat document试试下面的代码:

    Log.i(TAG,"Record start");
String outputFile;
MediaRecorder myRecorder;
outputFile = Environment.getExternalStorageDirectory().getAbsolutePath() + "/" + "Sample.amr";
Log.i(TAG,"file name: " + outputFile);

myRecorder = new MediaRecorder();
myRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
myRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);
myRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
myRecorder.setOutputFile(outputFile);

try {
myRecorder.prepare();
myRecorder.start();
} catch (IOException e) {
e.printStackTrace();
}
try {
Thread.sleep(30*1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
myRecorder.stop();
myRecorder.release();
Log.i(TAG,"Record finished");

要点:

  1. 输出文件名使用“.amr”后缀。输出格式使用 OutputFormat.AMR_NB 参数。
  2. 编码器使用 AudioEncoder.AMR_NB参数。

关于android - 以 AMR 文件格式录制音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26675988/

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