温州理发:多媒体API函数在VFP中应用

来源:百度文库 编辑:偶看新闻 时间:2024/07/02 03:00:49

多媒体API函数在VFP中应用

[ 2005-09-28 17:16:44 | 作者: 花狐狸 ] : | | 在Windows中有一个动态连接库文件Winmm.dll,在这个文件中提供了100多个具有多媒体处理功能的API函数,这些函数大多为低级的程序接口,其中以wave开头的函数用来处理语音,以modi开头的函数用来处理音乐合成等。
常用的与MCI有关的高级API函数有mciExecute函数、mciSendString函数、mciGetErrorString函数,把MCI指令字符串作为实参传送给API函数,就可以控制多媒体设备。
- mciExecute函数
用于执行MCI指令,如果MCI指令不能执行,则显示出错信息消息框。
调用格式:
= mciExecute("MCI指令字符串")
在VFP中使用该函数方式:
Declare integer mciExecute in Winmm.dll string cMCIString
例:打开一个CD设备,播放第一首曲目30秒,然后停止并关闭设备。
mciExecute("Open CDAudio alias CD")
mciExecute("Play CD From 1:0000 To 1:00:30 Wait")
mciExecute("Stop CD")
mciExecute("Close CD")
- mciSendString函数
用于把指令字符串传送给MCI。
调用格式:
= mciSendString("MCI指令字符串",返回字符串,返回长度,句柄)
在VFP中使用该函数方式:
Declare integer mciSendString in Winmm.dll string cMCIString,;
string @cRetString,;
integer nRetLength,;
integer hInstance
cRetString = Space(80)
nRetvalue = mciSendString(cMCIcmd.@RetString,Len(cRetString),0)
参数描述:
cMCIcmd MCI指令字符串
cRetString 定义的缓冲区
nRetvalue 函数执行后的返回值
- mciGetErrorString函数
在执行mciSendString函数后,如果发生错误,将返回一个错误代码,使用该函数可以获取错误代码所表示的含义。
调用格式:
mciGetErrorString(错误代码,出错信息,信息长度)
在VFP中使用该函数方式:
Declare integer mciGetErrorString in Winmm.dll integer nErrorno,;
string @cBuffer,;
integer nBufSize
在VFP中调用mciGetErrorString函数的方式通常为:
cErrorString = SPACE(256)
= mciGetErrorString(nError,@cErrorString,Len(cErrorString))
= MessageBox(cErrorString,48,"消息提示")
参数描述:
nError 调用函数返回的错误代码
cErrorString 存放相应出错消息的缓冲区
----------------------------------------------------------------------------
MCI指令字符串的构成:
Command Device_Name arguments

Command: MCI指令,如Play Open Record Save
Device_Name: 设备类型、文件名或别名

设备类型: 对于简单型设备,如CDAudio、VideoDisc等,在Device_Name中只
给出设备类型即可。
文 件 名: 对于复合型设备,如waveAudio、aviVideo等,在Device_Name中
必须是文件名,且必须使用标准的扩展名。
别 名: 为设备或文件取的名字。 (对于别名的概念狐狸们不陌生吧?)
例: Open c:\winnt\Media\start.mid Alias Mymid
以后就可: Play Mymid
Close Mymid
MCI指令的使用:
1、打开和关闭多媒体设备
- 打开简单多媒体设备
Open Device_Name arguments
例:Open CDAudio
Open VideoDisc
- 打开复合型多媒体设备
必须给出完整的文件名,含路径。
例:Open c:\winnt\Media\start.mid
2、播放多媒体设备
使用Play指令来播放,例:
Play CDAudio
将播放CD光碟,可使用From和To 参数来指定播放的起始位置和结束位置。
3、MCI指令字符串中常用的4个参数
(1)Shareable
打开多媒体设备时如果使用该参数,可以让不同的应用程序使用相同的多媒体设备。
Open CDAudio Shareable
*大多数复合型设备无法与其它程序共享
(2)All
对于有些指令,使用该参数后,MCI将依次把这个指令送给每个打开的设备。
Close All && 关闭所有打开的设备
(3)New
建立一个新文件,可暂不给出文件名,但保存时必须先指定文件名。
Open New Type waveAudio Alias Sounds && 打开一个新文件给Type
&& waveAudio语音设备使用
Record Sounds && 开始录音
Stop Sounds && 停止录音
Save Sounds Mysounds.wav && 保存语音信息
Close Sounds && 关闭设备
(4)Wait
看如下代码:
Open c:\Mysounds.wav Alias Mysounds
Play Mysounds
Stop Mysounds
执行上述指令后,将听不到任何声音,因为MCI在执行Play后立即执行了Stop,即MCI指令执行之后会立即将控制权交回,即使执行这个指令需要很长时间也如此。为解决此问题,可以使用Wait参数
Open c:\Mysounds.wav Alias Mysounds
Play Mysounds Wait
Stop Mysounds
这时会听到完整的语音。
****MCI指令,请参考有关资料*****