我已将录制的音频原始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);
}
答案 0 :(得分:1)
您的缓冲区大小可能太小。您应该使用getMinBufferSize方法来确定不会导致缓冲区溢出的最小缓冲区大小。这个问题Android AudioRecord class - process live mic audio quickly, set up callback function中的最高投票答案演示了如何正确设置具有适当缓冲区大小的录音。