Java中PCM转WAV怎么返回文件开头加文件头呢?

u010073323 u010073323 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
是用socket接收数据,需要在开头加上WAV文件头。我用了BufferedReader中的mark reset 方法但是并不能返回文件开头,请问什么问题呢?

mAudioFile = new File(filePath + time + ".wav");
mAudioFile.getParentFile().mkdirs();
mAudioFile.createNewFile();
fos = new FileOutputStream(mAudioFile);
socket = new DatagramSocket(9003);
buffer = new byte[320];
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);

BufferedReader reader;
reader = new BufferedReader(new FileReader(mAudioFile));
reader.mark((int)mAudioFile.length()+1);

while (mIsRecording) {
socket.setSoTimeout(1000);//等待1s 无数据则提示错误
socket.receive(packet);
//将录制的音频数据存储到本地
fos.write(buffer, 0, buffer.length);
fos.flush();
}
/**
* 加WAV头文件
*/
FileInputStream in;
in = new FileInputStream(mAudioFile);
totalAudioLen = in.getChannel().size();
//由于不包括RIFF和WAV
totalDataLen = totalAudioLen + 36;
reader.reset();
writeWaveFileHeader(fos, totalAudioLen, totalDataLen, longSampleRate, channels, byteRate);
...全文

相关推荐

JAVA 音频文件PCM转WAV Utils类

音频文件PCM转WAV格式转换类 Utils类 直接可以使用有现成DEMO。感谢评论 音频文件PCM转WAV格式转换类 Utils类

75888丶

PCM编码的WAV文件,如何使用JAVA把两个单声道文件合并成一个双声道文件?

从大网可以拿到通话双方的录音文件,都是PCM编码的WAV文件。有客户的需求是只要一个通话录音文件,但是,要求文件包含双声道,每个声道对应通话一方。 在原来WAV文件头解析的基础上,完成起来还是比较容易的。 public class WavFileUtil { private static Logger LOG = LoggerFactory.getLogger(WavFileUtil.cl...

此心光明-超然

PCM转WAV文件

本工程是通过录音写成pcm文件,然后再将pcm文件转华为wav,这个wav文件,可以wav,文件可以正常播放哦。

icefireym

音频转换(WAV转换为PCM)

1、Java实现wav音频文件转换为pcm音频文件(AudioUtils.java) 2、Java实现播放pcm音频文件(PCMPlay.java) WAV:wav是一种无损的音频文件格式,WAV符合 PIFF(Resource Interchange File Format)规范。所有的WAV都有一个文件头,这个文件头音频流的编码参数。WAV对音频流的编码没有硬性规定,除了PCM之外,还有几乎所有支持ACM规范的编码都可以为WAV的音频流进行编码。 PCM:PCM(Pulse Code Modulation----脉码调制录音)。所谓PCM录音就是将声音等模拟信号变成符号化的脉冲列,再予以记录。PCM信号是由[1]、[0]等符号构成的数字信号,而未经过任何编码和压缩处理。与模拟信号比,它不易受传送系统的杂波及失真的影响。动态范围宽,可得到音质相当好的影响效果。 简单来说:wav是一种无损的音频文件格式,pcm是没有压缩的编码方式。 WAV和PCM的关系 WAV可以使用多种音频编码来压缩其音频流,不过我们常见的都是音频流被PCM编码处理的WAV,但这不表示WAV只能使用PCM编码,MP3编码同样也可以运用在WAV中,和AVI一样,只要安装好了相应的Decode,就可以欣赏这些WAV了。在Windows平台下,基于PCM编码的WAV是被支持得最好的音频格式,所有音频软件都能完美支持,由于本身可以达到较高的音质的要求,因此,WAV也是音乐编辑创作的首选格式,适合保存音乐素材。因此,基于PCM编码的WAV被作为了一种中介的格式,常常使用在其他编码的相互转换之中,例如MP3转换成WMA。 简单来说:pcm是无损wav文件中音频数据的一种编码方式,但wav还可以用其它方式编码。

__Jolly__

JAVA wav转PCM Utils代码工具类

wav转PCM Utils代码工具类 Demo直接可以使用。javaJAVA wav转PCM Utils代码工具类

75888丶
评论 2
收藏 已收藏
分享
返回顶部
u010073323
Java SE 62,621 成员 307,251 内容