VB利用高级音频函数编写多媒体播放器 现在使用VB编程的朋友越来越多了，但是如何使用VB来编写播放多媒体文件的播放器呢？本篇将详细的介绍如何利用高级音频函数编写媒体播放器！ 高级音频函数有两条：1.mciSendString；2.mciSendCommand。前者称为命令字符串函数，后者称为命令消息函数。命令字符串函数顾名思义就是利用字符串作为命令来控制媒体设备，它最适合高级编程语言，如：VB。而命令消息函数则是利用消息的发送来控制媒体设备，它最适合利用常数作命令的编程语言，如：VC++，因此我们这里只讲解命令字符串函数的使用方法。
函数原型:
mciSendString(ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
参数说明:
lpstrCommand：要发送的命令字符串。字符串结构是:[命令][设备别名][命令参数].
lpstrReturnString：返回信息的缓冲区，为一指定了大小的字符串变量。
uReturnLength：缓冲区的大小，就是字符变量的长度。
hwndCallback：回调方式，一般设为零。(函数执行成功返回零,否则返回错误代码)
使用此函数能播放哪些媒体文件呢？不用担心，打开win.ini文件看看便知，找到[mci extensions]部分这里记录了你的计算机所能使用的所有媒体文件名，如：mid=Sequencer，等号左边的表示媒体文件的扩展名，等号右边的表示打开此媒体文件的设备名。
知道了哪些文件可以播放后就可以播放媒体文件了吗？No！你还得知道如何使用命令字符串来控制设备。下面列出的命令集是各种设备同时都具有的也是关键的命令集：
1．Open device_name [alias alias_name]：Open命令用来打开device_name设备并取别名为alias_name,device_name为媒体文件名或设备名,alias_name是为device_name取的别名，如：Open C:\windows\kl.wav alias WAV意思是打开c:\windows\kl.wav这个文件并取别名为WAV，在今后的操作过程中就可用这个别名来控制它所打开的设备了。
2．Close alias_name:Close命令用来关闭别名为alias_name的设备，在关闭程序时必须调用该命令否则其它的程序将无法打开该设备。
3．Play alias_name:Play命令用来播放别名为alias_name的媒体文件。成功的打开设备后就可调用该命令来播放媒体文件了。
4．Stop alias_name:Stop命令用来停止播放媒体文件。
5．Seek alias_name:Seek命令用来设置当前播放的位置(需事先设定时间格式)。
6．Set alias_name[audio all off][audio all on][time format ms]:Set命令用来设置设备的各种状态。如:静音，有声音，时间格式为毫秒等。
7．Status alias_name[length][mode][position]:Status命令用来取得设备的状态。如：该媒体文件的长度，该媒体文件所处状态，该媒体文件的当前位置等。
下面将介绍如何利用上面说的函数和命令集为我们工作：
1．新建一工程并在工程中添加一公用对话框(Common Dialog)，再添加一模块(Module)。
2．在模块中声明命令字符串函数：
Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
3．添加一按钮并在按钮的Click事件中加入以下代码：
dim dwReturn as String * 256
me.CommonDialog1.ShowOpen
if(mciSendString("Open " + Commondialog1.FileName + " Alias MCI",dwReturn,256,0)=0) then
mciSendString("Play MCI",dwReturn,256,0)
end if
4．最后在窗体的UnLoad事件中加入以下代码：
mciSendString("Close MCI")
是不是很简单！才用了七行代码就编成了一个简单的播放器。

(郝江)