使用低级音频函数实现音频采集与播放

使用低级音频函数实现音频采集与播放

ID:34431241

大小:146.98 KB

页数:3页

时间:2019-03-06

使用低级音频函数实现音频采集与播放_第1页
使用低级音频函数实现音频采集与播放_第2页
使用低级音频函数实现音频采集与播放_第3页
资源描述:

《使用低级音频函数实现音频采集与播放》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第..23卷第受月3期..JournalofSheny沈ang阳I航n。s空tit‘u工te业—of学院学报calEngineeringJun.2006V01.23No.3文章缡号:1007—1385(2006)03-0044一o3使用低级音频函数实现音频采集与播放王岩李照奎(沈阳航空工业学院计算机学院,辽宁沈阳110034)摘要:随着多媒体技术的大量应用,需要对视频和音频数据进行处理,由于现实的网络状况难以满足较好的实时视频通讯的要求,因此对音频数据的处理就显得更加重要。音频数据的采集和播放可以通过三种方式实现:媒体控制接口、I)irectSound和低级音频函数,三种

2、方法各有优缺点。使用低级音频函数实现音频的采集与播放,能够根据需要对数据流进行灵活地控制,具有较高的实时性。,关键词:音频;低级音频函数;媒体控制接口;DirectSound中图分类号:TP391.42文献标识码:A在信息化日益加速的今天,数字多媒体的应用越来越广泛。可视电话、电话会议系统和视频会议系统发展迅速,这些都要涉及到多媒体数据通信在多媒体数据通信中,要求有良好的实时性,能够对多媒体数据进行细节的操作,如压缩、实时流传输等。多媒体通信主要处理视频和音频数据,由于现实的网络状况难以满足较好的实时视频通讯的要求,所以音频数据在其中就更显重要。采集音频数据有三种方式:M

3、CI、DirectSound图1音频系统结构和低级音频函数,三种方法各有优缺点。本文论2WAVE文件格式述了用低级音频函数对音频进行实时采集与播放Windows支持两种RIFF(ResourceInter-的技术。changeFileFormat,“资源交互文件格式”)格式的1音频采集、播放的三种模式音频文件:MIDI的RMID文件和波形音频文件格式WAVE文件。其中在计算机领域最常用的数从声卡获取音频流主要有三种方法:MCI字化声音文件格式是WAVE文件,它是微软专门(TheMediaControlInterface)方法⋯、低级音频函为Windows系统定义的波形文件

4、格式(Waveform数(WaveX方法)和DirectSound方法。使用Audio),由于其扩展名为.way,因而该类文件MCI的方法极其简便,但灵活性较差,不适合音频也被称为WAVE文件。流的传输需要。低级音频函数是一个设备无关接WAVE文件是非常简单的一种RIFF文件,口,允许用户直接与音频设备驱动程序打交道,直它的格式类型为WAVE。RIFF块包含两个子接控制音频设备,使用WaveX方法相对来说难一块,这两个子块的ID分别是fret"和data",其中点,但是能够对音频数据进行灵活的操控;采用丘nt子块由结构PCMVEFoR姒T所组成,其DireetSound的

5、方法,控制声音数据灵活,效果比子块的大小就是sizeofof(PCMWAVEFORMAT),前二者都好,但实现起来是三者中最难的。数据组成就是PCMWAVEFORMAT结构中的数图1说明了应用程序与提供音频支持的据。WAVE文件的结构【3】如表1所示:WindOWS成员之间的关系。裹1WAVE文件结构收稿日期:20O6一o3—08"data"声音数据大小声音数据作者简介:王岩(1978一),女,辽宁沈阳人。讲师第3期王岩等:使用低级音频函数实现音频采集与播放453使用低级音频函数实现音频采集在声音采集与回放之前,先要检查音频设备的能力,设置相应的音频参数。声音采集与回放与

6、播放的一般步骤是:首先检查设备的能力,看该设备所3.1重要的数据结构‘具有的声音处理能力;然后使用waveInOpen或(1)PCMWAVEFORMAT结构定义如下:waveOutOpen函数打开录音或放音设备;打开相应的typedefstruct{设备后,再为相应的录音或放音设备准备相应的数WAVEFORMATwf;//波形格式;据结构,这是关键的一步,因为要使声卡正确采集播WORDwBitsPerSample;//WAVE文件的采样放,必须在程宁中建立—种与之通信的标准,这种标大小;准就是声音文件的格式,所以一定要保证数据缓冲}PCMWAVEFORMAT;区的格式符合

7、WSV标准;相应的数据结构准备好之(2)波形数据格式WAVEFORMAT的结构如后就可以使用waveInStart函数进行录音或waveOut-下:Write函数将录好的声音数据播放。typedefstruct{在录音和放音时,分配内存缓冲区的同时相WORDwFormatTag;//设置wav格式应分配WAVEHDR数据块结构,然后将缓冲区的WORDnChannels;//设置声道个数指针赋给对应的数据块结构的成员变量lpDam,DWORDnSamplesPerSec;//设置采样频率这样当一个缓冲区填满后,也就是一个音频数据

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。