精彩编程与编程技巧-满屏播放AVI文件...
### 知识点详解 #### 一、AVI文件与Windows系统 - **AVI (Audio Video Interleave) 文件格式**:AVI是一种由Microsoft开发的多媒体容器格式,用于存储视频和音频数据。这种格式支持多种压缩算法,使得AVI文件能够包含高质量的音视频内容。 - **Windows系统下播放AVI文件**:在Windows操作系统中,可以利用系统提供的API接口(如`mciSendString`)来实现AVI文件的播放。这为开发者提供了一种简便的方法来控制多媒体文件。 #### 二、使用API实现在VB中播放AVI文件 - **API简介**: - `mciSendString`函数是Windows Media Control Interface (MCI) 的一部分,它允许应用程序通过字符串命令来控制多媒体设备。 - MCI是一种标准的多媒体控制接口,用于控制多媒体设备,如CD播放器、磁带播放器等。 - **API使用示例**: ```vb Private Declare Function mciSendString Lib "winmm.dll" Alias _ "mciSendStringA" (ByVal lpstrCommand As String, ByVal _ lpstrReturnString As Any, ByVal uReturnLength As Long, ByVal _ hwndCallback As Long) As Long ``` 上述代码定义了一个外部函数`mciSendString`,该函数接收四个参数: - `lpstrCommand`:字符串命令,用于控制多媒体设备或文件。 - `lpstrReturnString`:返回值的字符串,通常设为0。 - `uReturnLength`:返回值的最大长度,一般设为0。 - `hwndCallback`:回调窗口句柄,一般设为0。 **播放AVI文件示例**: ```vb Private Sub Command1_Click() Dim CmdStr As String CmdStr = "play c:\test.avi fullscreen" mciSendString CmdStr, 0&, 0, 0& End Sub ``` 这段代码实现了当点击Command1按钮时,播放位于`c:\test.avi`路径下的AVI文件,并全屏显示。 #### 三、VB中的控件及事件处理 - **Form1控件**:在Visual Basic程序设计中,`Form1`是一个常用的表单对象,用于构建用户界面。它提供了添加各种控件(如按钮、文本框等)的功能。 - **Command1控件**:`Command1`是一个按钮控件,可以通过设置其`Caption`属性来自定义按钮上的文字。 - **事件处理**:通过编写特定事件的响应代码,可以在用户触发相应操作时执行预定义的任务。例如,在本例中,当用户点击`Command1`按钮时,会调用`Command1_Click()`子程序。 #### 四、全屏播放原理 - **全屏播放命令**:在MCI命令中,通过添加`fullscreen`参数可以实现全屏播放效果。 - **颜色处理**:在播放过程中,如果需要调整颜色显示,可以通过额外的MCI命令来控制。例如,使用`setaudio volume to 100`可以设置音量,而`setvisual displaymode to full`则可以控制显示模式。 #### 五、注意事项 - 在使用`mciSendString`函数之前,确保已经正确安装了Windows Media Control Interface。 - 当播放完毕或者遇到错误时,可以使用`stop`或`close`命令来停止播放或关闭媒体文件。 - 如果需要播放的AVI文件位于网络驱动器上,可能需要指定完整的网络路径。 通过使用Visual Basic中的`mciSendString`函数,可以方便地在Windows系统下实现AVI文件的全屏播放。此外,还可以通过自定义事件处理和命令参数来实现更多功能。
在Windows系统中,满屏播放AVI文件同在窗口中播放AVI文件是不同的,
在满屏播放的时候不需要屏幕上的颜色进行抖动,只需要将调色板设置
为AVI文件所独有的就可以了,这是因为没有其它的窗口在背景中存在
的缘故。
使用Windows 应用程序编程接口(API)的mciSendString函数可以实现
对AVI文件的播放。
样例程序
下面的样例程序将满屏播放位于C盘根目录下的test.avi文件。你可以
将你的Windows 95 CDROM中的某些AVI文件改名并拷贝到C盘根目录下以
播放它。
1.在Visual Basic中开始一个新的项目,采用缺省的方法建立Form1。
2.将如下的声明语句添加到Form1的通用声明部分中(注意每个声明语句
?需要被书写在一行内):
Private Declare Function mciSendString Lib "winmm.dll" Alias _
"mciSendStringA" (ByVal lpstrCommand As String, ByVal _
lpstrReturnString As Any, ByVal uReturnLength As Long, ByVal _
hwndCallback As Long) As Long
3.在Form1上添加一个命令按钮控件,采用缺省的方法建立Command1。
将它的Caption属性设置为“播放文件”。
4.将如下的代码添加到Command1的单击事件中:
Private Sub Command1_Click()
CmdStr$ = "play c:\test.avi fullscreen "
ReturnVal& = mciSendString(CmdStr$, 0&, 0, 0&)
- qq_176418012014-08-16对学习播放AVI文件挺有用的
- 粉丝: 22
- 资源: 3095
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助