Android开发中pcm格式的音频转换为wav格式之二
2023-12-19 23:12:40
上篇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)
以上就是讲解的具体的使用方法和说明。
文章来源:https://blog.csdn.net/qq_36451275/article/details/135058254
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!