使用 AudioRecord 以 .mp3 格式录制音频
Posted
技术标签:
【中文标题】使用 AudioRecord 以 .mp3 格式录制音频【英文标题】:Recording audio in .mp3 format by using AudioRecord 【发布时间】:2017-11-23 09:46:33 【问题描述】:我想使用 AudioRecord 类以 .mp3 格式录制和保存音频。目前它以 .pcm 格式录制。我已使用以下代码进行记录-
private void writeAudioDataToFile()
// Write the output audio in byte
String filePath = "/sdcard/voice8K16bitmono.pcm";
short sData[] = new short[BufferElements2Rec];
FileOutputStream os = null;
try
os = new FileOutputStream(filePath);
catch (FileNotFoundException e)
e.printStackTrace();
while (isRecording)
// gets the voice output from microphone to byte format
m_audioRecord.read(sData, 0, BufferElements2Rec);
System.out.println("Short wirting to file" + sData.toString());
try
// // writes the data to file from buffer
// // stores the voice buffer
byte bData[] = short2byte(sData);
os.write(bData, 0, BufferElements2Rec * BytesPerElement);
catch (IOException e)
e.printStackTrace();
try
os.close();
catch (IOException e)
e.printStackTrace();
private byte[] short2byte(short[] sData)
int shortArrsize = sData.length;
byte[] bytes = new byte[shortArrsize * 2];
for (int i = 0; i < shortArrsize; i++)
bytes[i * 2] = (byte) (sData[i] & 0x00FF);
bytes[(i * 2) + 1] = (byte) (sData[i] >> 8);
sData[i] = 0;
return bytes;
以上两种方法用于录制 .pcm 格式的文件。这是否可以使用 AudioRecord 类以 .mp3 格式保存音频?
【问题讨论】:
在此处添加您尝试过的代码 我已添加代码 你要录制自动通话录音吗.. 没有。它是对讲机应用程序。 pcm格式可以在android中播放吗?或者还有哪些可以尝试的其他格式? 【参考方案1】:在 android 中没有可以用 mp3 录制文件的编码器。您无法使用本机功能实现 mp3。您可以使用任何第三方库来实现这一点。
查看this 帖子,这可能会对您有所帮助。
【讨论】:
以上是关于使用 AudioRecord 以 .mp3 格式录制音频的主要内容,如果未能解决你的问题,请参考以下文章