多媒体编程-read.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多媒体编程-read

第10章 多媒体编程 媒体(medium)为信息的载体,多媒体(multimedia)指文本、图形、图像、声音、动画、视频等人类感官所能获得的(计算机可以表示与处理的)各种外部信息。多媒体是相对于早期计算机只能处理数字和文本而言的,图形界面是多媒体的开始,普适计算是其发展方向。 Windows API为程序员提供了多媒体编程的高层接口MCI (Media Control Interface 媒体控制接口),用来播放和录制各种媒体文件。但MCI一直没有封装到MFC中,不过仍然可以利用MFC框架来编写使用MCI的多媒体程序。 关于文本、图形和图像的编程已经在第3章中讲过了,本章只介绍声音、动画、视频等媒体的编程问题。 在将MCI编程之前,先介绍几种非MCI高层音频播放函数。 10.1 播放波形音频文件 波形音频文件格式(Waveform Audio File Format )(*.WAV)是Microsoft为Windows设计的多媒体文件格式RIFF(Resource Interchange File Format,资源交换文件格式)中的一种(另一种常用的为AVI)。其特点是一般不支持压缩,所以文件大,常用于小型的系统音频数据的存储,也用于临时音频文件(似图像格式中的BMP)。 本节先介绍一下音频及其数字化的基本概念,然后讲Windows中只可用来播放音频文件的几种高层函数,包括只能播放系统声音的MessageBeep、Win16中就有的可以播放波形文件的老函数sndPlaySound及Win32引进的功能强大的播放波形文件的新函数PlaySound。而MCI中的声音播放将在下节介绍。 应用程序层 高层音频服务 低层音频服务 Windows音频服务的层次关系 1.音频 声音(sound)是一种由机械振动引起可在物理介质(气体、液体或固体)中传播的纵向压力波(纵波或疏密波),声波可用振幅和频率这两个基本物理量来描述。 音频(audio)指人耳能听见的声音——可听声,频率范围约为20Hz~20kHz。原始的音频信号是连续的,为了计算机能处理,需要把它离散化,方法是采样与量化。根据奈奎斯特(Nyquist)采样定理,只要采样频率不低于声音信号最高频率的两倍,就能把数字化的声音无失真地还原成原来的模拟声音。量化是指将声波的振幅离散化,一般用二进制整数表示。 常用的采样频率有8kHz(语音)、11.025kHz、22.05kHz、44.1kHz(CD音质)和48 kHz等。常用的量化精度为8bit、12 bit、16bit、20bit和24bit等。 声音除了采样频率和量化精度这两个指标外,还有声道数,常见的有:单声道(如语音)、双声道(立体声,如CD)、5.1/6.1/7.1声道(环绕立体声,如DVD)。 2.用MessageBeep播放WAV文件 函数原型为: BOOL MessageBeep( UINT uType // sound type ); 该函数调用后马上返回,若成功返回TRUE,否则返回FALSE。其中,参数uType可取值见下表: MessageBeep播放的声音类型 uType值 声音 0xFFFFFFFF(= -1) 用计算机喇叭发出标准嘟声 MB_ICONASTERISK 系统星号 MB_ICONEXCLAMATION 系统感叹号 MB_ICONHAND 系统手 MB_ICONQUESTION 系统问号 MB_OK 系统缺省 这些系统事件的声音,可用控制面板中声音与音频设备程序来设置和指定,保存在注册表中。老版本的Windows将这些设置信息保存在win.ini文件的Sounds段中。如: [Sounds] SystemAsterisk=chord.wav, Asterisk SystemExclamation=chord.wav, Exclamation SystemHand=chord.wav, Critical Stop SystemQuestion=chord.wav, Question SystemDefault=ding.wav, Default Beep SystemStart=data.wav, Windows Start SystemExit=c:\windows/glass.wav, Windows Exit 若系统没有安装音频设备,则会使用计算机本身的喇叭来发声;否则,会调用声卡来播放对应的波形文件。 可以用waveOutGetNumDevs函数来判断系统是否安装了音频设备,其原型为: UINT waveOutGetNumDevs(VOID); // 返回系统中安装的音频设备数 如 if (waveOutGetNumDevs() == 0) {MessageBox(

文档评论(0)

suijiazhuang1 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档