最新公告
  • 欢迎您光临51分享吧,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 说明:本源码只提供了生成 文件头 的函数,只返回文件头(只返回固定44字节!),如果将pcm转成wav,请参考下面公式

    WAV字节集 = 文件头字节集+PCM字节集 

    让我们一起来观赏一下pcm变成wav的过程吧!

    文件头:

            byte[] header = new byte[44];
            header[0] = 'R'; // RIFF
            header[1] = 'I';
            header[2] = 'F';
            header[3] = 'F';
            header[4] = (byte) (totalWavSize & 0xff);//xx大小
            header[5] = (byte) ((totalWavSize >> 8) & 0xff);
            header[6] = (byte) ((totalWavSize >> 16) & 0xff);
            header[7] = (byte) ((totalWavSize >> 24) & 0xff);
            header[8] = 'W';//WAVE
            header[9] = 'A';
            header[10] = 'V';
            header[11] = 'E';
            //FMT Chunk
            header[12] = 'f'; // 'fmt '
            header[13] = 'm';
            header[14] = 't';
            header[15] = ' ';//过渡字节
            //xx大小
            header[16] = 16; // 4 bytes: size of 'fmt ' chunk
            header[17] = 0;
            header[18] = 0;
            header[19] = 0;
            //编码方式 10H为PCM编码格式
            header[20] = 1; // format = 1
            header[21] = 0;
            //通道数
            header[22] = (byte) channels;
            header[23] = 0;
            //采样率,每个通道的播放速度
            header[24] = (byte) (sampleRate & 0xff);
            header[25] = (byte) ((sampleRate >> 8) & 0xff);
            header[26] = (byte) ((sampleRate >> 16) & 0xff);
            header[27] = (byte) ((sampleRate >> 24) & 0xff);
            //音频xx传送速率,采样率*通道数*采样深度/8
            header[28] = (byte) (byteRate & 0xff);
            header[29] = (byte) ((byteRate >> 8) & 0xff);
            header[30] = (byte) ((byteRate >> 16) & 0xff);
            header[31] = (byte) ((byteRate >> 24) & 0xff);
            // 确定系统一次要处理多少个这样字节的xx,确定缓冲区,通道数*采样位数
            header[32] = (byte) (channels * 16 / 8);
            header[33] = 0;
            //每个样本的xx位数
            header[34] = 16;
            header[35] = 0;
            //Data chunk
            header[36] = 'd';//data
            header[37] = 'a';
            header[38] = 't';
            header[39] = 'a';
            header[40] = (byte) (totalPcmSize & 0xff);
            header[41] = (byte) ((totalPcmSize >> 8) & 0xff);
            header[42] = (byte) ((totalPcmSize >> 16) & 0xff);
            header[43] = (byte) ((totalPcmSize >> 24) & 0xff);
            os.write(header, 0, 44);

    @wly

    文件下载

    解压密码:
    下载地址

    本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有,若为付费资源,请在下载后24小时之内自觉删除,若作商业用途,请到原网站购买,由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
    51分享吧 » 音频文件PCM转wav源码

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    51分享吧
    我们是忠实的分享者
    • 121会员总数(位)
    • 1770资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 175稳定运行(天)

    51分享吧 51DZSC.COM

    开通VIP 站长亲测
    升级SVIP尊享更多特权立即升级