上篇Android开发中pcm格式的音频转换为wav格式的工具类-CSDN博客文章讲解了pcm格式的音频转换为wav格式,这篇文章主要讲解怎么使用:
我们先来说明一下怎么播放一个wav文件
/** * 播放一个wav文件 */ public static void playWav(String filePath){ File wavFile = new File( filePath); // Log.e("timo-111",wavFile); try{ FileInputStream fis=new FileInputStream(wavFile); byte[] buffer=new byte[1024*1024*2];//2M int len=fis.read(buffer); Log.e(TAG, "fis len="+len); Log.e(TAG, "0:"+(char)buffer[0]); int pcmlen=0; pcmlen+=buffer[0x2b]; pcmlen=pcmlen*256+buffer[0x2a]; pcmlen=pcmlen*256+buffer[0x29]; pcmlen=pcmlen*256+buffer[0x28]; int channel=buffer[0x17]; channel=channel*256+buffer[0x16]; int bits=buffer[0x23]; bits=bits*256+buffer[0x22]; Log.e(TAG, "pcmlen="+pcmlen+",channel="+channel+",bits="+bits); AudioTrack at = new AudioTrack(AudioManager.STREAM_MUSIC, SAMPLE_RATE_INHZ*2, channel, AudioFormat.ENCODING_PCM_16BIT, pcmlen, AudioTrack.MODE_STATIC); at.write(buffer, 0x2C, pcmlen); at.play(); } catch(Exception e){ Log.e(TAG, e.toString()); } finally{ wavFile = null; } }
下面,在使用的地方具体使用:
先将.pcm文件转为.wav文件: startRecordAudio为源文件(即存储的.pcm的录音文件) wavFilePath为.pcm转.wav文件 true:是否删除源文件 PcmToWavUtil ptwUtil = new PcmToWavUtil(); ptwUtil.pcmToWav(startRecordAudio, wavFilePath,true);
以上处理完理之后,再调用:
playWav(wavFilePath)
以上就是讲解的具体的使用方法和说明。