温州理发:多媒体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指令,请参考有关资料*****
在VFP中有API函数获得剪贴板的内容,和设置它的内容,求各位高手帮帮忙
在DELPHI中如何调用API函数
如何在VB中使用API函数
如何在VB中声明API函数
在VB中怎么调用API函数
图象API函数在图形图象分析中的应用
在MFC中如何调用windows api函数?
在VB中如何挂钩WIN32 API函数?
请问在c中怎么使用api函数阿
我在api函数大全中怎么没找到MsgBox函数,是不是有了新的。
在DELPHI 中 如何声明API函数?在什么位置中声明?
powerbuilder中使用的API函数
Api函数中keybd_event什么用法
C#中怎样调用Windows API函数?
MFC中如何使用API函数?
应用windows API函数编成时有什么特点?
多媒体在物理中的应用?
多媒体在物理中的应用?
如何在VC++中调用API的画点函数画上半圆
请问各位高手如何在VB中调用API函数关机
在UG的二次开发过程中,请教一个API函数:uf6505()
api函数在编程中的引用
vfp中len函数的问题
VFP中SUM()函数的使用