- 2
- 0
- 约8.69千字
- 约 59页
- 2017-11-12 发布于广东
- 举报
第8章 多媒体编程技术 8.1 多媒体API概述 在Windows中,多媒体API提供的多媒体接口分成两类。它们通常称为低级多媒体接口和高级多媒体接口。 低级接口是一系列函数,这些函数以简短的说明性字母开头。 多媒体函数中以mci开头的函数是用于存取多媒体控制接口(MCI:Media Control Interface)的高级函数。 在用Visual C++开发多媒体应用程序时,必须在所有要用到多媒体函数的源程序中包含MMSYSTEM.H头文件,并且该文件位置应在WINDOWS.H头文件的后面。另外,在连接程序时要用到WINMM.LIB引入库,在源程序中加入下面一行: #pragma comment(lib,winmm.lib) 8.2 音频函数的应用 8.2.1 高级音频函数 Windows提供了三个特殊的播放声音的高级音频函数:MessageBeep、PlaySound和sndPlaySound。 1.MessageBeep函数:主要用来播放系统报警声音。 BOOL MessageBeep(UINT uType); 参数uType说明了告警级,如下表8.1所示。 2.PlaySound函数:原型为: BOOL PlaySound(LPCSTR pszSound, HMODULE hmod,DWORD fdwSound); pszSound:是指定了要播放声音的字符串。Hmod:是应用程序的实例句柄,当播放WAV资源时要用到该参数,否则它必须为NULL。fdwSound:是标志的组合,如下表所示。 PlaySound函数的使用常用的有三种方法: 第一种方法是直接播出声音文件,在C:\WINNT\MEDIA目录下有一个名为Windows 注销音.wav的声音文件 。下面代码播出Windows 2000的注销声音。 PlaySound(c:\\WINNT\\media\\Windows注销音.wav的声音文件, NULL, SND_FILENAME | SND_ASYNC); 第二种方法是把声音文件加入到资源中,然后从资源中播放声音。下面实现通过资源播出Windows 2000的注销声音。下面的调用会输出注销声音: PlaySound(MAKEINTRESOURCE(IDR_WAVE1), AfxGetInstanceHandle( ),SND_RESOURCE| SND_ASYNC); 第三种方法是用PlaySound播放系统声音,Windows启动的声音是由SystemStart定义的系统声音,因此可以用下面的方法播放启动声音: PlaySound(SystemStart,NULL,SND_ALIAS|SND_ASYNC); ? 3.sndPlaySound函数:与PlaySound类似,但少了一个参数。函数的原型为: BOOL sndPlaySound(LPCSTR lpszSound, UINT fuSound); 参数lpszSound与PlaySound是一样的。 参数fuSound是如何播放声音的标志,可以是SND_ASYNC、SND_LOOP、SND_MEMORY、SND_NODEFAULT、SND_NOSTOP和SND_SYNC的组合,这些标志的含义与PlaySound的一样。 要用该函数播放WAVE文件,可按下面的方式调用: sndPlaySound(“MYSOUND.WAV”,SND_ASYNC); 8.2.2 低级音频函数 1.波形声音文件格式:WAVE文件作为多媒体中使用的声音文件的格式之一,它是以RIFF格式为标准的。 WAVE文件各部分内容及格式如下表所示。 2.低级的波形声音输入输出函数:输入输出函数的字首是waveIn和waveOut。播放数字音频的步骤如下: (1)查询设备数目和能力。 (2)打开波形输出设备。 (3)准备音频数据块。 (4)发送音频数据块。 (5)管理波形重放。 (6)关闭波形设备。 例8.1 利用上述低级函数播放一段正弦波声音。 (1)创建程序框架:项目名称为“wavplay”。 (2)在AppWizard中,指定要创建的是一个基于对话框的应用程序。 (3)创建完应用程序框架后,从应用程序的对话框中除去确定、取消按钮等所有控件,添加三个命令按钮。按下表所示设置各命令按钮的属性值。 (2)增加头文件:在wavplayDlg.h文件的顶部增加下列语句: 使用Class Wizard向三个按钮的BN_CLICKED事件各增加一个函数,其代码为: 8.3 媒体控制接口 .3.1 MCI的控制 用MCI函数可以给任何一种设备发出命令,控制它们开始、暂停、倒退、快进等。每
您可能关注的文档
- JSP应用开发教程课件作者温超第7章节Servlet编程.ppt
- JSP应用开发教程课件作者温超第8章节Javabean编程.ppt
- 促销管理技术实训课件作者李纲程鹏13章.ppt
- 供配电系统课件作者徐滤非第二章节例2-4章.ppt
- JSP应用开发教程课件作者温超第11章节企业邮箱模拟系统.ppt
- JSP应用开发教程课件作者温超第12章节基于struts的学生管理系统.ppt
- LabVIEW程序设计基础与提高课件作者张兰勇第1章节LabVIEW概述.ppt
- LabVIEW程序设计基础与提高课件作者张兰勇第4章节波形显示与文件操作.ppt
- 光纤通信第2版普通高等教育“十一五”国家级规划教材课件乔桂红光纤通信课件01章.ppt
- LabVIEW程序设计基础与提高课件作者张兰勇第5章节数据采集.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- BSC-1100ⅡA2-X和1500A2生物安全柜产品使用说明书.pdf VIP
- 2026年江西青年职业学院单招职业技能考试必刷测试卷附答案.docx VIP
- 高中物理校本课程教材.docx VIP
- 南京医科大学-药理学-期末复习资料汇总.pdf VIP
- 2025年江西青年职业学院单招职业技能考试必刷测试卷附答案.docx VIP
- 北京航空航天大学《飞行器设计》期末考核试卷(含答案).docx VIP
- 第七章 part3幼儿园教职工配备标准 (暂行)(课件)2024年《学前教育政策法规》同步教学(高教版).pptx VIP
- 2024年山东职业学院高职单招(英语/数学/语文)笔试历年真题摘选含答案解析.docx
- 复旦大学保险公司财务管理第五章 保险公司财务比率分析.ppt VIP
- 患者十大安全目标(2025)PPT课件.pptx VIP
原创力文档

文档评论(0)