收录日期:2018/12/13 08:27:47 时间:2016/05/27 12:53:20 标签:机器视觉
由程序获得wav文件的16进制数据格式如下:
00000000 h: 52 49 46 46 58 f3 00 00 57 41 56 45 66 6d 74 20 
00000010 h: 10 00 00 00 01 00 01 00 11 2b 00 00 11 2b 00 00 
00000020 h: 01 00 08 00 64 61 74 61 34 f3 00 00 7f 80 80 80 
00000030 h: 80 80 80 80 80 80 81 81 81 81 81 82 82 82 82 82 
00000040 h: 83 82 82 82 82 82 82 82 82 82 82 82 82 82 81 81 
00000050 h: 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 
00000060 h: 81 81 82 82 82 82 82 82 82 83 83 83 83 83 84 84 
00000070 h: 84 84 84 83 84 84 83 83 83 83 83 82 82 82 82 81 
00000080 h: 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 
地      址:前三行为文件头~
后面接着的是数据~~

请问数据部分的意义分别是什么~?~?
up一下,谁有pcm的解码程序啊?
easy
谁有pcm的解码程序啊?
pcm不需要解码了,直接送给声卡就行了
如果是双声道:数据的顺序是:左右左右...............
-------------------------------------
WAV File Format
The wave file format is broken up into RIFF chunks. Some wave files are non-standard and contain additional chunks and information. This program we are writing does not care for those and we will only honor the traditional chunks. Here is a simple breakdown of the .WAV format.

RIFF
<4 bytes>
WAVE
This is the first thing you generally see in the format and at least this is what I have found. I have tried to use those 4 bytes as a size, but, I've generally just found it better to skip these. So, in the program we write, I simply skip the first 12 bytes. Next, everything is done in RIFFs. A RIFF works like this:

RIFF IDENTIFIER    (4 Bytes)
RIFF SIZE          (4 Bytes)
<RIFF INFORMATION> (RIFF SIZE - 8)
So, you have a 4 byte identifier that tells you what this block is. The next 4 bytes tell you the size of this RIFF. The last chunk is the data which is the size of the RIFF minus the header, so RIFF SIZE - 8. The very first RIFF in a WAVE file will be "fmt ". This is described as this:

"fmt "
DWORD dwRiffSize;
WORD  wFormatTag;         // Format category
WORD  wChannels;          // Number of channels
DWORD dwSamplesPerSec;    // Sampling rate
DWORD dwAvgBytesPerSec;   // For buffer estimation
WORD  wBlockAlign;        // Data block size
WORD  wBitsPerSample;
So, in the program, we simply skip the first 12 bytes and then read this information out of the file. Now, the only other RIFF we care about is "data". This is defined as so:

"data"              4 Bytes
DATA SIZE           4 Bytes
<YOUR Data Audio>   (DATA SIZE - 8)
when we read a wav file, all we have to do is : 
- read the first 12 characters to check if it's a real wav file. 
- read the format chunk in a struct similar to the formatChunk struct. 
- skip the extra parameters in the format chunk, if any. 
- find the data chunk, read the raw data and carry out with the encoding. 
-skip all other chunks.
pcm不需要解码了,直接送给声卡就行了

那是因为声卡里有pcm解码器~
我需要用软件实现pcm解码~
不过很谢谢你的资料~

这样算不算是被戴绿帽子? asp.net循环读取新闻,如果没有则提示“暂无信息” 现在要封装自己的list控件。应该用GDI和OBSREVER模式.小弟是新手,请朋友们都给点宝贵建议。 跪求,jfreechart问题?? 急急急 怎么做printf?串口输出。 asp.net 如何上传图片之前显示本地绝对路径的图片 求助:ListCtrl 不用继承CListCtrl的方式实现改变麽一行的颜色(背景或字体) 有个问题很困扰 用visual basic 6.0绘制《医院电子病历》体温脉搏曲线图 如何实现DLL里面的回调函数 hashtable 插入viewstate ERROR word 正文的两侧有没有类似页眉页脚的功能啊 js原始问题 页面回发后就不能获取TetxBox的值了?? 如何在asp页面用oledb连接mysql远程服务器? 请问一个定义类成员指针的问题 请问下如何实现如图的功能 组件的问题 ASP读Excel的问题,请高人指点一下,多谢! 北京的朋友进来: 在上地这上班,推荐一个性价比高的自助餐厅(一点小意思,望大家笑纳) web.config为啥出错? 请问用JavaME开发手机软件,都需要学些什么知识。 为什么这段代码编译时会报错??? |zyciis| 判断图片是否存在 第二贴 装了Office2007的系统,点导出按钮报错。 myEclipse5配置weblogic多域 Java连不上sql2005数据库 请问PC_Lint如何设置那些警告和错误是可以忽略的?感谢! DataList绑定 方法 FileUpload 在 UpdatePanel失效了,请问有什么方法吗?