无法从文件中播放录制的原始PCM

时间:2012-03-29 11:26:59

标签: android

我已将录制的音频原始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);
}

1 个答案:

答案 0 :(得分:1)

您的缓冲区大小可能太小。您应该使用getMinBufferSize方法来确定不会导致缓冲区溢出的最小缓冲区大小。这个问题Android AudioRecord class - process live mic audio quickly, set up callback function中的最高投票答案演示了如何正确设置具有适当缓冲区大小的录音。