科技: 人物 企业 技术 IT业 TMT
科普: 自然 科学 科幻 宇宙 科学家
通信: 历史 技术 手机 词典 3G馆
索引: 分类 推荐 专题 热点 排行榜
互联网: 广告 营销 政务 游戏 google
新媒体: 社交 博客 学者 人物 传播学
新思想: 网站 新书 新知 新词 思想家
图书馆: 文化 商业 管理 经济 期刊
网络文化: 社会 红人 黑客 治理 亚文化
创业百科: VC 词典 指南 案例 创业史
前沿科技: 清洁 绿色 纳米 生物 环保
知识产权: 盗版 共享 学人 法规 著作
用户名: 密码: 注册 忘记密码?
    创建新词条
科技百科
  • 人气指数: 4916 次
  • 编辑次数: 1 次 历史版本
  • 更新时间: 2009-03-31
admin
admin
发短消息
相关词条
石墨烯
石墨烯
移动硬盘播放器
移动硬盘播放器
3gp
3gp
山寨现象
山寨现象
朱克贵
朱克贵
唐耀先
唐耀先
彭谦
彭谦
何志辉
何志辉
高一陵
高一陵
吴载德
吴载德
推荐词条
希拉里二度竞选
希拉里二度竞选
《互联网百科系列》
《互联网百科系列》
《黑客百科》
《黑客百科》
《网络舆情百科》
《网络舆情百科》
《网络治理百科》
《网络治理百科》
《硅谷百科》
《硅谷百科》
2017年特斯拉
2017年特斯拉
MIT黑客全纪录
MIT黑客全纪录
桑达尔·皮查伊
桑达尔·皮查伊
阿里双十一成交额
阿里双十一成交额
最新词条

热门标签

微博侠 数字营销2011年度总结 政务微博元年 2011微博十大事件 美国十大创业孵化器 盘点美国导师型创业孵化器 盘点导师型创业孵化器 TechStars 智能电视大战前夜 竞争型国企 公益型国企 2011央视经济年度人物 Rhianna Pratchett 莱恩娜·普莱契 Zynga与Facebook关系 Zynga盈利危机 2010年手机社交游戏行业分析报告 游戏奖励 主流手机游戏公司运营表现 主流手机游戏公司运营对比数据 创建游戏原型 正反馈现象 易用性设计增强游戏体验 易用性设计 《The Sims Social》社交亮 心理生理学与游戏 Kixeye Storm8 Storm8公司 女性玩家营销策略 休闲游戏的创新性 游戏运营的数据分析 社交游戏分析学常见术语 游戏运营数据解析 iPad风行美国校园 iPad终结传统教科书 游戏平衡性 成长类型及情感元素 鸿蒙国际 云骗钱 2011年政务微博报告 《2011年政务微博报告》 方正产业图谱 方正改制考 通信企业属公益型国企 善用玩家作弊行为 手机游戏传播 每用户平均收入 ARPU值 ARPU 游戏授权三面观 游戏设计所运用的化学原理 iOS应用人性化界面设计原则 硬核游戏 硬核社交游戏 生物测量法研究玩家 全球移动用户 用户研究三部曲 Tagged转型故事 Tagged Instagram火爆的3大原因 全球第四大社交网络Badoo Badoo 2011年最迅猛的20大创业公司 病毒式传播功能支持的游戏设计 病毒式传播功能 美国社交游戏虚拟商品收益 Flipboard改变阅读 盘点10大最难iPhone游戏 移动应用设计7大主流趋势 成功的设计文件十个要点 游戏设计文件 应用内置付费功能 内置付费功能 IAP功能 IAP IAP模式 游戏易用性测试 生理心理游戏评估 游戏化游戏 全美社交游戏规模 美国社交游戏市场 全球平板电脑出货量 Facebook虚拟商品收益 Facebook全球广告营收 Facebook广告营收 失败游戏设计的数宗罪名 休闲游戏设计要点 玩游戏可提高认知能力 玩游戏与认知能力 全球游戏广告 独立开发者提高工作效率的100个要点 Facebook亚洲用户 免费游戏的10种创收模式 人类大脑可下载 2012年最值得期待的20位硅谷企业家 做空中概股的幕后黑手 做空中概股幕后黑手 苹果2013营收 Playfish社交游戏架构

(图)WAV
WAV是微软公司开发的一种声音文件格式
WAV (或 WAVE)是微软公司开发的一种声音文件格式,是Windows中存储到硬盘上的声音文件的扩展名。用于保存Windows平台的音频信息资源。该格式也支持MSADPCMCCITTALAW等多种压缩运算法,支持多种音频数字,取样频率是44.1K的取样频率、声道是16位量化数字。








目录

[显示全部]

简介编辑本段回目录

WAV为微软公司(Microsoft)开发的一种声音文件格式,它符合RIFF(Resource Interchange File Format)文件规范,用于保存Windows平台的音频信息资源,被Windows平台及其应用程序所广泛支持,该格式也支持MSADPCM,CCITT A LAW等多种压缩运算法,支持多种音频数字,取样频率和声道:标准格式化的WAV文件和CD格式一样,也是44.1K的取样频率,16位量化数字,因此在声音文件质量和CD相差无几。WAV音频格式的优点包括:简单的编/解码(几乎直接存储来自模/数转换器(ADC)的信号)、普遍的认同/支持以及无损耗存储。WAV格式的主要缺点是需要音频存储空间。对于小的存储限制或小带宽应用而言,这可能是一个重要的问题。WAV格式的另外一个潜在缺陷是在32位WAV文件中的2G限制。

通常使用三个参数来表示声音,量化位数,取样频率和声道数。声道有单声道立体声之分,取样频率一般有11025Hz(11kHz) ,22050Hz(22kHz)和44100Hz(44kHz) 三种,不过尽管音质出色,但在压缩后的文件体积过大!相对其他音频格式而言是一个缺点,其文件大小的计算方式为:

WAV格式文件所占容量 = (取样频率 X 量化位数 X 声道) X 时间 / 8 (字节 = 8bit)

支持WAV设计的手机有:索尼爱立信P910诺基亚N90以及采用微软OS的多普达等手机。

剖析编辑本段回目录

每个WAVE文件的头四个,字节便是“RIFF”,RIFF是英文ResourceInterchangeFileFormat的缩写。WAVE文件是由若干个Chunk组成的。按照在文件中的出现位置包括:RIFFWAVE、Chunk、FormatChunk、FactChunk(可选)、DataChunk。

1、Wav格式包含Chunk示例,见图1:

(图)WAV
图1
其中除了FactChunk外,其他三个Chunk是必须的。每个Chunk有各自的ID,位于Chunk最开始位置,作为标示,而且均为4个字节。并且紧跟在ID后面的是Chunk大小(去除ID和Size所占的字节数后剩下的其他字节数目),4个字节表示,低字节表示数值低位,高字节表示数值高位。下面具体介绍各个Chunk内容。所有数值表示均为低字节表示低位,高字节表示高位。

2、RIFFWAVEChunk,见图2

(图)WAV
图2
以'FIFF'作为标示,然后紧跟着为size字段,该size是整个wav文件大小减去ID和Size所占用的字节数,即FileLen-8=Size。然后是Type字段,为“WAVE”,表示是wav文件。结构定义如下:
structRIFF_HEADER
{
charszRiffID[4];//'R','I','F','F'
DWORDdwRiffSize;
charszRiffFormat[4];//'W','A','V','E'
};

3、FormatChunk,见图3

WAV(图)图3
图3
以'fmt'作为标示。一般情况下Size为16,此时最后附加信息没有;如果为18则最后多了2个字节的附加信息。主要由一些软件制成的wav格式中含有该2个字节的附加信息。结构定义如下:
structWAVE_FORMAT
{
WORDwFormatTag;
WORDwChannels;
DWORDdwSamplesPerSec;
DWORDdwAvgBytesPerSec;
WORDwBlockAlign;
WORDwBitsPerSample;
};
structFMT_BLOCK
{
charszFmtID[4];//'f','m','t',''
DWORDdwFmtSize;
WAVE_FORMATwavFormat;
};

4、FactChunk,见图4

WAV(图)图4
图4
FactChunk是可选字段,一般当wav文件由某些软件转化而成,则包含该Chunk。结构定义如下:
structFACT_BLOCK
{
charszFactID[4];//'f','a','c','t'
DWORDdwFactSize;
};

5、DataChunk,见图5
WAV(图)图5
图5

DataChunk是真正保存wav数据的地方,以'data'作为该Chunk的标示。然后是
数据的大小。紧接着就是wav数据。根据FormatChunk中的声道数以及采样bit数,
wav数据的bit位置可以分成以下几种形式:(图6)
WAV(图)图6
图6
DataChunk头结构定义如下:
structDATA_BLOCK
{
charszDataID[4];//'d','a','t','a'
DWORDdwDataSize;
};

写了一个程序把wav文件读取到指定数组中.已知wav文件16位单声道.
voidread_wave(char*str)
{
intfd,len,k,data_size;
unsignedchara[44];
unsignedcharb[8000];
fd=open(str,O_RDONLY);
len=read(fd,a,44);
data_size=(((unsignedint)(a[7]))<<24)+(((unsignedint)(a[6]))<<16)+((unsignedint)(a[4]))+(((unsignedint)(a[4])<<);
len=read(fd,b,8000);
close(fd);
for(k=0;k<4400;k++)
t[k]=(((unsignedshort)(b[2*k]))+(((unsignedshort)(b[2*k+1]))<<+3276;
for(k=0;k<4400;k++)
t[k]=((int)(((int)(t[k]))*400))/65535;
}

支持格式编辑本段回目录

Wave格式支持MSADPCMCCITTALawCCITTμLaw和其它压缩算法,支持多种音频位数、采样频率和声道,但其缺点是文件体积较大(一分钟44kHZ、16bit Stereo的WAV文件约要占用10MB左右的硬盘空间),所以不适合长时间记录。

在Windows中,把声音文件存储到硬盘上的扩展名为WAV。WAV记录的是声音的本身,所以和MIDI相比它占的硬盘空间很大。例如:16位的44.1KHZ的立体声声音一分钟要占用大约10MB的容量。

编解码器编辑本段回目录

(图)16位WAV音频文件展示
16位WAV音频文件展示
WAV文件格式是一种由微软和IBM联合开发的用于音频数字存储的标准,它采用RIFF文件格式结构,非常接近于AIFF和IFF格式。多媒体应用中使用了多种数据,包括位图、音频数据、视频数据以及外围设备控制信息等。RIFF为存储这些类型的数据提供了一种方法,RIFF文件所包含的数据类型由该文件的扩展名来标识,能以RIFF文件存储的数据包括:音频视频交错格式数据(.AVI)、波形格式数据(.WAV)、位图格式数据(.RDI)、MIDI格式数据(.RMI)、调色板格式(.PAL)、多媒体电影(.RMN)、动画光标(.ANI)、其它RIFF文件(.BND)
  
RIFF是一种含有嵌套数据结构的二进制文件格式,每个数据结构都称为因一个chunk()。Chunk在RIFF文件中没有固定的位置,因而偏移量不能用于定位域值。一个块中的数据包括数据结构、数据流或其它组块(称为子块)等,每个RIFF块都具有如下结构:
typedefstruct_Chunk
{
DWORDChunkId;/*块标志*/
DWORDChunkSize;/*块大小*/
BYTEChunkData[ChunkSize];/*块内容*/
}CHUNK;

ChunkId由4个ASCII字符组成,用以识别块中所包含的数据。字符RIFF用于标识RIFF数据块,间隔空格在右面是不超过4个字符的ID。由于这种文件结构最初是由Microsoft和IBM为PC机所定义,RIFF文件是按照little-endian字节顺序写入的,而采用big-endian字节顺序的文件则用‘RIFX’作为标志。ChunkSize(块大小)是存储在ChunkData域中数据的长度,ChunkId与ChunkSize域的大小则不包括在该值内。

ChunkData(块内容)中所包含的数据是以字(WORD)为单位排列的,如果数据长度是奇数,则在最后添加一个空(NULL)字节。子块(Subchunk)与块具有相同的结构。一个子块就是包含在其它块内部的一个块,只有RIFF文件块‘RIFF’和列表块‘List’才能含有子块,所有其它块仅能含有数据。一个RIFF文件就是一个RIFF块,文件中所有其它块和子块均包含在这个块中。

WAV文件可以存储大量格式的数据,通常采用的音频编码方式是脉冲编码调制(PCM)。由于WAV格式源自Windows/Intel环境,因而采用Little-Endian字节顺序进行存储。

共同的执行过程
在对WAV音频文件进行编解码过程中,最一致的地方包括采样点采样帧的处理和转换。一个采样点的值代表了给定时间内的音频信号,一个采样帧由适当数量的采样点组成并能构成音频信号的多个通道。对于立体声信号一个采样帧有两个采样点,一个采样点对应一个声道。一个采样帧作为单一的单元传送到数/模转换器(DAC),以确保正确的信号能同时发送到各自的通道中。

播放wav工具编辑本段回目录

一、Zen wav播放器

WAV(图)Zen Wav播放器
Zen Wav播放器
Zen Wav播放器是创新公司推出的具有内置扬声器的产品,Zen Wav播放器的正面左右两侧带有两个扬声器。可用于播放wav文件。Zen Wav播放器容量分为2GB和4GB两种;锂离子电池可进行30个小时音乐播放,扬声器打开可支持20个小时;采用了1.5英寸TFT液晶屏,分辨率为128×128像素;外形大小为85×42×12.5mm,重量为49g。支持MP3WMA、WAV、JPG、AVI(OpenDML)等格式,支持MSC传输。

ZenWav播放器带有齐全的附件,包括盘片、使用手册、USB数据线、耳机、保护套、Line-in线、音乐底座等。

二、VB中播放WAV文件
(图)VB中播放WAV文件的VB界面
VB中播放WAV文件的VB界面
在多媒体软件的开发设计中,声音是一个相当重要的多媒体元素,优秀的声音设计会为多媒体软件增色不少。而WAV格式的声音文件是一种最常用的声音文件格式,也最容易得到,比如通过Win 95中的“录音机”程序,利用麦克风就可以非常简单地录制WAV文件。VB是一个相当经典的多媒体开发的工具,在VB中播放WAV文件的方法主要有这样几种。

1、利用OLE控件
建一个窗体,用鼠标选择OLE控件,在窗体上拖出OLE区域,在图一的窗口中选择新建和声音然后按确定键就完成了在窗口中添加OLE控件。 这样就可以在OLE控件的ResourceDoc属性中选择所要播放的文件,程序运行时双击OLE控件即可。在实际的程序设计当中,往往需要单击某个图标或按钮来控制声音的播放,其实现方法是这样的:首先将OLE控件的VISIBLE属性设置为FALSE,然后在图标或按钮的单击事件中编写如下的程序
Private Sub Contol_Click()
OLE1 .Action = 7
End Sub

2、利用MMControl控件
VB5.0提供了许多设计多媒体的控件,在PROJECT/COMPENENTS/CONTROLS中选择MMControls 控件,窗体上就出现了多媒体控件对象,在这个对象上有不同的图形功能标识,其名称从左到右分别是Pre、Next、Play、Pause、Back、Step、Stop、Record 、Eject。

这个多媒体控件可以播放多种格式的声音,播放WAV格式声音文件的程序代码

Private Sub form_load() 
MMControl1.DeviceType = “waveaudio”
MMControl1.filename = “c:win95mediading.wav”
MMControl1.Command = “open”
End Sub ’

以下为图形标识Play事件编写的代码
 
Private Sub MMControl_playclick(cancel As Integer)
MMControl1.Command = “play”
End Sub

当运行这个程序时,MMControl控件中的Play键被激活,点取此按钮即可播放ding.wav文件。
在实际的软件设计当中,更多的情况是鼠标点击按钮或图标来控制声音的播放, 其实现方法是这样的:首先将MMControl控件的VISIBLE属性设置为FALSE,然后在图标或按钮的单击事件中编写如下的程序:
Private Sub Control1_Click()
MMControl1.Command = “play”
End Sub

运行程序时单击相用的按钮或图标,WAV文件照样可以播放。用自行设计的按钮或图标取代多媒体控件中的固定按钮,可设计出更加灵活方便的用户界面。

3、利用VB的API函数
在窗体的DECLARATIONS(声明)中输入如下代码
Private Declare Function sndPlaySound Lib “winmm.dll”Alias “sndPlaySoundA”(ByVal_lpszSoundName As String,ByVal uFlags As Long) As Long

“lpszSoundName”是一个字符串变量,表示一个WAV格式的文件名。“uFlags” 用于设定播放状态的各种选项。参数值为0X00时,实现同步播放,参数值为0X01时实现非同步播放。
     
在命令按钮的单击事件中输入如下代码: 
Private Sub Command1_Click()
Dim plays As Long 
plays = sndPlaySound(“E:WINDOWSMEDIADING.WAV”,&H0) 
End Sub

运行时单击命令按钮即可播放WAV文件。 

相关词条编辑本段回目录

参考资料编辑本段回目录

[1]IT潮流网:http://www.ittide.com/
[2]三好在线:http://www.sosol.com.cn/

→如果您认为本词条还有待完善,请 编辑词条

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
0

标签: WAV

收藏到: Favorites  

同义词: 暂无同义词

关于本词条的评论 (共0条)发表评论>>

对词条发表评论

评论长度最大为200个字符。