Android开发中pcm格式的音频转换为wav格式之二
·
上篇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)
以上就是讲解的具体的使用方法和说明。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)