我已将录制的音频原始 PCM 保存到文件 rxrawpcm.pcm 中,之后我尝试播放 pcm 文件但无法播放录制的 PCM?我没有听到录音,只听到嗡嗡声
配置
AudioRecorder 和 AudioTrack 配置
Stream Type :STREAM_VOICE_CALL
Sample Rate : 8000
Audio Format :PCM_16BIT
MODE :MODE_STREAM
Channel Config :CHANNEL_CONFIGURATION_MONO
录音
byte[] buffer=new byte[1600];
int read = audioRecord.read(buffer, 0,buffer.length);
if(recordAudio){
if(out!=null){
out.write(buffer);
}
玩家端
FileInputStream fis=new FileInputStream(rxFile);
byte[] buffer=new byte[1600];
while(fis.read(buffer)!=-1){
audioPlayer.write(buffer, 0, buffer.length);
}
最佳答案
您的缓冲区大小可能太小。您应该使用 getMinBufferSize 方法来确定不会导致缓冲区溢出的最小缓冲区大小。此问题中投票最高的答案 Android AudioRecord class - process live mic audio quickly, set up callback function演示了如何使用适当的缓冲区大小正确设置录音。
关于android - 无法播放文件中录制的原始 PCM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9924406/