关于WAV格式的音频,在计算机内存中是如何存放的?

quguoping1017 2008-12-31 12:50:32
关于WAV格式的音频,在计算机内存中是如何存放的?

单通道,和双通道的存放格式有什么区别。

有没有音频这方面的专家,指导一下。
...全文
346 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdmmemory_004 2009-10-16
  • 打赏
  • 举报
回复
8位PCM
  unsigned int
  225
  0
???????????
0-225?

OenAuth.Net 2008-12-31
  • 打赏
  • 举报
回复
我只能说二进制存放的,呵呵,
帮顶
xiaoyisnail 2008-12-31
  • 打赏
  • 举报
回复
你只要了解了wav的文件格式就可以处理了啊,不用管物理内存
quguoping1017 2008-12-31
  • 打赏
  • 举报
回复
当我采集一段视频,在物理内存中如何存放的,2进制撇开不说。有专家懂吗?可以指导一下不?google里也没什么资料
xiaoyisnail 2008-12-31
  • 打赏
  • 举报
回复
google一下wav的编码格式
fisher_047 2008-12-31
  • 打赏
  • 举报
回复
我最近在用JAVA编基于JMF的播放器,下面是我收集的部分资料,共享下

WAV
这是一种古老的音频文件格式,由微软开发。WAV是一种文件格式,符合PIFF Resource Interchange File Format的规范。所有的WAV都有一个文件头,这个文件头音频流的编码参数。WAV对音频流的编码没有硬性规定,除了PCM之外,还有几乎所有支持ACM规范的编码都可以为WAV的音频流进行编码。很多朋友没有这个概念,我们拿AVI做个示范,因为AVI和WAV在文件结构上是非常相似的,不过AVI多了一个视频流而已。我们接触到的AVI由很多种,因此我们经常需要安装一些Decode才能观看一些AVI,我们接触到比较多的DivX就是一种视频编码,AVI可以采用DivX编码来压缩视频流,当然也可以用其他的编码压缩。同样,WAV也可以使用多种音频编码来压缩其音频流,不过我们常见的都是音频流被PCM编码处理的WAV,但这不表示WAV只能使用PCM编码,MP3编码同样也可以运用在WAV中,和AVI一样,只要安装好了相应的Decode,就可以欣赏这些WAV了。在Windows平台下,基于PCM编码的WAV是被支持得最好的音频格式,所有音频软件都能够完美支持,由于本身可以达到比较高的音质要求,因此,WAV也是音乐编辑创作的首选格式,适合保存音乐素材。因此,基于PCM编码的WAV被作为一种中介的格式,常常使用在其他编码的互相转换之中,例如MP3转换成WMA。

wave音频数据的格式
  
  wave音频数据的格式 近日见到有网友询问音频数据的格式,恰好我也正在做这个方面的项目。特将我收集的文章转贴。
  WAVE文件格式剖析WAVE文件作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。RIFF是英文Resource Interchange File Format的缩写,每个WAVE文件的头四个字节便是“RIFF”。WAVE文件由文件头和数据体两大部分组成。其中文件头又分为RIFF/WAV文件标识段和声音数据格式说明段两部分。WAVE文件各部分内容及格式见附表。
  常见的声音文件主要有两种,分别对应于单声道(11.025KHz采样率、8Bit的采样值)和双声道(44.1KHz采样率、16Bit的采样值)。采样率是指:声音信号在“模→数”转换过程中单位时间内采样的次数。采样值是指每一次采样周期内声音模拟信号的积分值。
  对于单声道声音文件,采样数据为八位的短整数(short int 00H-FFH);而对于双声道立体声声音文件,每次采样数据为一个16位的整数(int),高八位和低八位分别代表左右两个声道。
   WAVE文件数据块包含以脉冲编码调制(PCM)格式表示的样本。WAVE文件是由样本组织而成的。在单声道WAVE文件中,声道0代表左声道,声道1代表右声道。在多声道WAVE文件中,样本是交替出现的。
  WAVE文件格式说明表
   容
  文件头
  00H
  4
  char
  "RIFF"标志
  04H
  4
  long int
  08H
  4
  char
  "WAVE"标志
  0CH
  4
  char
  "fmt"标志
  10H
  4
  14H
  2
  int
  10H为PCM形式的声音数据)
  16H
  2
  int
  1,双声道为2
  18H
  2
  int
  1CH
  4
  long int
  8。播放软件利用此值可以估计缓冲区的大小。
  20H
  2
  int
  8。播放软件需要一次处理多个该值大小的字节数据,以便将其值用于缓冲区的调整。
  22H
  2
  24H
  4
  char
  data"
  28H
  4
  long int
  PCM数据的存放方式:
  1
  2
  8位单声道
  0声道
  0声道
  8位立体声
  0声道(左)
  1声道(右)
  0声道(左)
  1声道(右)
  16位单声道
  0声道低字节
  0声道高字节
  0声道低字节
  0声道高字节
  16位立体声
  0声道(左)低字节
  0声道(左)高字节
  1声道(右)低字节
  1声道(右)高字节
  WAVE文件的每个样本值包含在一个整数i中,i的长度为容纳指定样本长度所需的最小字节数。首先存储低有效字节,表示样本幅度的位放在i的高有效位上,剩下的位置为0,这样8位和16位的PCM波形样本的数据格式如下所示。
  8位PCM
  unsigned int
  225
  0
  16位PCM
  int
  32767
  -32767

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧