欢迎来到天天文库
浏览记录
ID:5972293
大小:33.50 KB
页数:10页
时间:2017-12-30
《用api函数设计avi播放器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、用API函数设计AVI播放器 【摘〓要】WindowsAPI函数功能强大,可实现硬件控制和低级操作。本文阐述在VisualBasic环境中调用相关的API函数设计AVI播放放器的全过程,附有源程序。【关键词】API函数,AVI播放器,VisualBasic在Windows的动态链接库Winmm.dll中,提供了数百个专用于多媒体处理的API函数。其中与MCI(媒体控制接口)有关的高级函数mciExecute()和mciSendString()功能强大,利用这两个函数可设计一个简单的AVI播放器。一、设计AVI播放器所需函数1、mciExecute()函数其功能是执行MCI
2、指令,当出现错误时将自动弹出对话框。如对sound.wav文件进行打开、播放的代码为:I=mciExecute(”open“d:\sound.wav”aliassound”)和I=mciExecute(”playsound”)。2、mciSendString()函数该函数的功能与上面的函数相同,但它可以传送相应的信息给应用程序。使用时需要四个参数,第一个是MCI命令字符串,第二个是缓冲区用于存储传给应用程序的信息,第三个是缓冲区长度,第四个在Visual10Basic中可恒置为0;使用此函数能播放哪些媒体文件呢,可以打开win.ini文件看看便知道,找到[mciextens
3、ions]部分,这里记录了你的计算机所能使用的所有媒体文件名,如:mid=Sequencer,等号左边的表示媒体文件的扩展名,等号右边的表示打开此媒体文件的设备名。函数返回值为:如果成功执行,则返回值为0,如果文件不存在或出现其他错误,错误代码为非零值,但程序不会中断。若要根据错误代码自行处理错误信息,可以使用mciGetErrorString函数处理,这里不再赘述。二、AVI播放器设计1、启动VisualBasic,建立一个新工程。2、单击【工程】
4、【部件】命令,在【控件】选项卡下选中通用对话框控件(MicrosoftCommonDialogContrl6.0),单击【确
5、定】按钮。3、在窗体上建立如下控件:7个按钮、1个框架、4个单选钮、3个标签、1个垂直滚动条、1个水平滚动条、1个图片框、1个通用对话框、1个计时器。设计时界面如图所示。4、打开VisualBasic自带的【API浏览器】,调入WIN32API.txt文件,复制API函数mciExecute()和mciSendString的声明到【代码窗口】的声明段,注意它们的类型都是Private。然后在声明段再定义如下变量:DimAviFileAs10String,该变量用来存储运行时所选择的AVI文件的标识符(包括文件名和路径)。5、编写窗体Load事件过程,设置除【打开】按钮外的其
6、他各控件的初始状态为False。6.编写【打开】按钮Click事件过程,激活通用对话框,选取播放文件,并将第0格画面送入图片框准备播放,同时将相关按钮状态设置为True。PrivateSubCmdOpen_Click()OnErrorResumeNextDimReturnStrAsString*128‘定义mciSendStrin()参数变量,存放返回信息DimErrorCodeAsLong‘保存mciSendStrin()函数值AviFile=““CommonDialog1.Filter=“影像文件.avi
7、*.avi
8、”CommonDialog1.ShowOpen‘选文
9、件AviFile=CommonDialog1.FileNameIfAviFile=““ThenExitSub‘不选文件退出EndIfErrorCode&=mciSendString(”capabilityavidevicetype”,ReturnStr,128,0)‘返回设备类型IfErrorCode&=0ThenmciExecute(”closeavi”)10EndIfPicture1.ClsmciExecute(”open“+AviFile+“aliasavi”)mciExecute(”windowavihandle“+Str(Picture1.hWnd))‘设置播放窗
10、口mciExecute(”cueavito0”)‘显示第0格并暂停CmdPlay.Enabled=True:CmdStart.Enabled=TrueCmdEnd.Enabled=True:CmdForward.Enabled=TrueCmdBackward.Enabled=TrueCmdClose.Enabled=TrueHScroll1.Enabled=True:VScroll1.Enabled=TrueOptLeft.Enabled=True:OptRight.Enabled=TrueOptAll.Enabl
此文档下载收益归作者所有