+ All Categories
Home > Documents > 第 10 章 多媒体应用程序设计

第 10 章 多媒体应用程序设计

Date post: 16-Mar-2016
Category:
Upload: radwan
View: 133 times
Download: 1 times
Share this document with a friend
Description:
第 10 章 多媒体应用程序设计. 音视频操作是多媒体控制的主要内容。 本章将分别讲述音频和视频两种操作各自的实现过程。. 主要包括以下两个方面: ●通过 Windows 的组件功能,利用软件提供的音视频播放器为自己的程序轻松实现音视频播放功能; ●利用比较底层的 Windows API 音视频操作函数。. 本章给出较为详细的实例向读者展示 Windows 对音视频等多媒体操作的基本功能和主要过程,可以加深读者对 Windows 音视频操作的理解,为将来深入了解 Windows 多媒体控制提供基础。. 10.1. - PowerPoint PPT Presentation
Popular Tags:
48
第 10 第 第第 第第第第第第
Transcript

第 10 章多媒体应用程序设计

音视频操作是多媒体控制的主要内容。 本章将分别讲述音频和视频两种操作各自的实现过程。

主要包括以下两个方面: ● 通过 Windows 的组件功能,利用软件提供的音视频播放器为自己的程序轻松实现音视频播放功能; ● 利用比较底层的 Windows API音视频操作函数。

本章给出较为详细的实例向读者展示 Windows 对音视频等多媒体操作的基本功能和主要过程,可以加深读者对 Windows 音视频操作的理解,为将来深入了解 Windows 多媒体控制提供基础。

音频控制10.1

视频控制10.2

小 结 10.3

10.1 音 频 控 制 本节讲述 Windows 下各种不同的音频控制方式,包括利用 Windows 系统提供的多媒体组件播放音频文件,调用 Message

Beep() 函数进行声音提示,以及使用 Windows API 函数进行比较底层的音频控制。

Windows 系统提供了各种各样的组件,封装了许多复杂功能的实现。 使用合适的组件,可以减轻程序员的负担。 多媒体处理就是 Windows 下一个比较复杂的过程,涉及许多设备的控制以及音视频的解码等诸多复杂的操作。

然而, Windows 内置的 Windows Media Player 组件可以极大的简化普通程序播放音视频文件的编程复杂度。

本节将通过例 10-1 详细讲解 Windows Media Player 组件的创建步骤和使用方法。

【例 10-1 】 用 Windows Media Player 组件播放音频文件,如图 10-1 所示。

图 10-1 例 1 运行界面

1 . Windows Media Player 组件的创建( 1 )在对话框模板中添加 Windows Media Player 组件。

图 10-2 添加 ActiveX 控件对话框

图 10-3 例 1 的对话框模板

( 2 )为对话框类添加 Windows Media Player 控件变量。

图 10-4 提示 IDE 将为工程添加 Windows Media Player 组件类

图 10-5 提示 IDE 将为工程添加 Windows Media Player 组件类

2 . Windows Media Player 组件的使用 创建好 Windows Media Player 组件后就可以为通过组件提供的方法对音视频文件和设备进行操作。 现在结合例 10-1 要求实现的功能的代码对

Windows Media Player 组件的各种基本方法进行介绍。

( 1 )打开音频文件。( 2 )播放音频文件。( 3 )停止播放音频文件。( 4 )其他操作。

10.1.2 MessageBeep() 函数 MessageBeep() 函数是 Windows 提供的高级音频函数之一,主要用来播放系统报警声音。 系统报警声音是由用户在控制面板中的“声音和音频设备 属性”对话框(见图 10-

6 )中定义的,或者在注册表中指定。

图 10-6 “ 声音和音频设备 属性”对话框

MessageBeep() 函数的原型如下。 BOOL MessageBeep( UINT uType );

uType 取值 取 值 说 明-1 从扬声器中发出蜂鸣声MB_ICONASTERISK 播放由 SystemAsterisk 定义的声音MB_ICONEXCLAMA

TION 播放由 SystemExclamation 定义的声音MB_ICONHAND 播放由 SystemHand 定义的声音MB_ICONQUESTION 播放由 SystemQuestion 定义的声音MB_OK 播放由 SystemDefault 定义的声音

表 10-1 uType 告警级取值说明

10.1.3 API 函数 Windows Media Player 组件和 Mes

sageBeep() 函数都能播放音频文件,但是前者是组件,不能提供较为底层的功能,而后者只能播放有限的几种音频文件,功能有限。

本节将介绍 Windows 提供的各种音频API 函数,包括 PlaySound() 函数和 MCI ,并根据示范代码详细讲解这些函数的使用方法。

1 . PlaySound() 函数 PlaySound() 函数用于播放波形文件( WAV 文件),其原型如下。 BOOL PlaySound( LPCSTR pszSound, HMODULE hmod, DWORD fdwSound );

2 . MCI 操作 【例 10-2 】 音频播放器 AudioPlayer 。

图 10-7 实例 AudioPlayer 的界面

( 1 ) mciSendCommand()函数 ( 2 )打开操作 ( 3 )播放操作 ( 4 )停止操作 ( 5 )停止操作 ( 6 )查询播放状态 ( 7)暂停播放 ( 8)恢复播放 ( 9)设置播放指针

10.2 视 频 控 制 本节讲述多媒体操作的另一个重要组成部分—视频控制。 Windows 系统提供了丰富的视频控制函数、接口和组件,一方面程序可以使用系统中带有的视频播放组件进行视频控制,另一方面程序可以调用 API 自行设计视频播放功能。

本节将分别讲述这两种不同的视频控制方法,并提供了相应的示例作为参考。

10.2.1 视频播放器 本节阐述如何使用 Windows 系统中的视频播放组件进行视频的播放和控制。 组件技术是 Windows 提供的一个关键技术,依靠此技术可以将其他程序提供的功能轻松地嵌入用户自行开发的程序中。

Windows 系统下有丰富的视频播放软件,例如,常用的 Windows Media Player 媒体播放器和 Real Player 播放器等。

这些播放器都提供了相应的组件方便用户在程序中嵌入此类播放器。

10.1.1 节中详细介绍了如何在程序中嵌入 Windows Media Player 媒体播放器提供的 Windows Media Player 组件用于播放音频文件。 该组件不仅支持音频文件,还支持视频文件。

本节同样以 Windows Media Player 组件为例介绍如何在程序中嵌入视频播放器,简化视频播放的编程复杂度。 对于其他播放组件(如 Real Player 提供的组件),读者可以参考相应软件提供的开发文档实现对此类组件的嵌入和操作。

1 .嵌入 Windows Media Player 组件 2 .加入封装 Windows Media Player 组件的类 3 .控制 Windows Media Player 组件

( 1 )打开视频文件 ( 2 )播放视频文件( 3 )停止播放视频文件( 4 )调整视频播放器的大小

10.2.2 MCIWnd 类 本节将讲解如何用 Windows API 中提供的 MCIWnd窗口类完成视频播放功能,其中包括相关函数的参考说明和创建视频播放的步骤。

MCIWnd窗口类是 VFW ( Video For Windows )提供的视频播放窗口类。

VFW 是微软公司为开发 Windows平台下的视频应用程序提供的软件工具包,提供了一系列应用程序编程接口( API ),用户可以通过它们很方便地实现视频捕获、视频编辑及视频播放等通用功能,还可利用回调函数开发更复杂的视频应用程序。

它的特点是播放视频时不需要专用的硬件设备,而且应用灵活,可以满足视频应用程序开发的需要。 Windows 操作系统自身就携带了 VF

W ,系统安装时,会自动安装 VFW 的相关组件。

MCIWnd 是一个控制多媒体设备(如MIDI、数字视频、 VCR 以及 CD 音频设备等)的窗口类。

该类为视频播放创建一个播放窗口,播放窗口用于显示视频图像,而所有的视频操作命令都通过向窗口发送对应的消息完成。

Visual C++也为这些操作的消息的发送提供了以 MCIWnd 开头的宏,可以在程序中调用这类宏实现打开、播放、停止、暂停以及控制音量等多种视频操作。 下面将通过实例详细阐述使用 MCIWnd窗口类的步骤和控制命令的参考。 【例 10-3 】 视频播放器 VideoPlayer 。

图 10-8 例 VideoPlayer 的界面

1 .打开视频文件并创建 MFCWnd窗口 2 .播放视频文件 3 .停止播放视频文件 4 .暂停播放视频文件 5 .恢复播放视频文件 6 .获取当前播放模式

7.关闭视频播放 8.销毁MCIWnd窗口 9. MCIWnd 播放文件位置控制和文件长度的获取

( 1 )设置长度和位置的取值。( 2 )获得打开的文件的长度。( 3 )获得当前播放的位置。( 4 )设置当前播放的位置。

10 . MCIWnd 播放音量的获取和控制( 1 )播放音量的获取。( 2 )播放音量的设置。

小 结 本章讲解了在 Windows 下如何进行音视频操作,介绍了基本的 Windows 多媒体功能。 读者学习本章应当掌握如下几个重点和难点内容。

● 运用组件实现音视频控制。 ● MessageBeep() 函数、 PlaySo

und 函数 () 和 MCI 在音频播放中的功能和作用。 ● MCIWnd窗口类在视频播放中的功能和作用。

其中第一项内容中的组件技术是 Windows 的一个关键技术,用在 Windows 程序设计的很多方面,读者需要认真学习和领会。

同时读者也要通过本章的学习掌握基本的音视频操作,为程序添加多媒体功能。


Recommended