MMAPI(MultiMedia API)是Windows的底层多媒体编程接口,包括波形音频处理(45个函数)、MIDI操作(41个函数)、多媒体计时器管理(8个函数)、操作杆控制(8个函数)和多媒体文件I/O(19个函数),共121个函数、44条消息和14个数据结构。
本节只是列出各类MMAPI函数的名称,其中的MMIO和MIDI部分会在后面两节中介绍,其他MMAPI的函数和功能可参见Visual C++的帮助系统。
在Visual Studio 2005的帮助系统中,MCI和MMAPI的帮助位于“目录\Win32和COM开发\Graphics and Multimedia\Windows Multimedia\SDK Documentation\Windows Multimedia”的诸子目录中。
12.4.1 波形音频处理
MMAPI中含有45个波形音频处理函数(5个aux*+2个* PlaySound+38个waveIn/Out*):
auxGetDevCaps
auxGetNumDevs
auxGetVolume
auxOutMessage
auxSetVolume
PlaySound
sndPlaySound
waveInAddBuffer
waveInClose
waveInGetDevCaps
waveInGetErrorText
waveInGetID
waveInGetNumDevs
waveInGetPosition
waveInMessage
waveInOpen
waveInPrepareHeader
waveInProc
waveInReset
waveInStart
waveInStop
waveInUnprepareHeader
waveOutBreakLoop
waveOutClose
waveOutGetDevCaps
waveOutGetErrorText
waveOutGetID
waveOutGetNumDevs
waveOutGetPitch
waveOutGetPlaybackRate
waveOutGetPosition
waveOutGetVolume
waveOutMessage
waveOutOpen
waveOutPause
waveOutPrepareHeader
waveOutProc
waveOutReset
waveOutRestart
waveOutSetPitch
waveOutSetPlaybackRate
waveOutSetVolume
waveOutUnprepareHeader
waveOutWrite
12.4.2 MIDI
MMAPI中含有41个MIDI函数:
midiConnect
midiDisconnect
midiInAddBuffer
midiInClose
midiInGetDevCaps
midiInGetErrorText
midiInGetID
midiInGetNumDevs
midiInMessage
midiInOpen
midiInPrepareHeader
midiInProc
midiInReset
midiInStart
midiInStop
midiInUnprepareHeader
midiOutCacheDrumPatches
midiOutCachePatches
midiOutClose
midiOutGetDevCaps
midiOutGetErrorText
midiOutGetID
midiOutGetNumDevs
midiOutGetVolume
midiOutLongMsg
midiOutMessage
midiOutOpen
midiOutPrepareHeader
MidiOutProc
midiOutReset
midiOutSetVolume
midiOutShortMsg
midiOutUnprepareHeader
midiStreamClose
midiStreamOpen
midiStreamOut
midiStreamPause
midiStreamPosition
midiStreamProperty
midiStreamRestart
midiStreamStop
12.4.3 计时器
MMAPI中含有8个多媒体时间函数:
timeBeginPeriod
timeEndPeriod
timeGetDevCaps
timeGetSystemTime
timeGetTime
timeKillEvent
TimeProc
timeSetEvent
12.4.4 操作杆
MMAPI中含有8个操作杆(joystick)函数:
joyGetDevCaps
joyGetNumDevs
joyGetPos
joyGetPosEx
joyGetThreshold
joyReleaseCapture
joySetCapture
joySetThreshold
12.4.5 多媒体文件I/O
这里只罗列MMIO定义的2个数据类型和2个结构,以及它所提供的18个函数和1个宏,还有7个专用消息。有关MMIO的详细内容,将在后面的12.6节中作部分介绍。
数据类型
FOURCC; // 4字符代码
MMRESULT; // 错误返回代码(0表示正确)
结构:
MMIOINFO; // I/O信息
MMCKINFO; // 块信息
函数或宏
基本I/O(6个):mmioClose、mmioOpen、mmioRead、mmioRename、mmioSeek、mmioWrite
缓冲I/O(5个):mmioAdvance、mmioFlush、mmioGetInfo、mmioSetBuffer、mmioSetInfo
RIFF I/O(5个):mmioAscend、mmioCreateChunk、mmioDescend、mmioFOURCC(宏)、mmioStringToFOURCC
定制I/O 过程(3个):IOProc、mmioInstallIOProc、mmioSendMessage
其中,常用的用于读取和播放波形/AVI文件的函数有:mmioOpen、mmioClose、mmioRead、mmioDescend、mmioAscend。
消息
MMIO的专用消息有(字母序):MMIOM_CLOSE、MMIOM_OPEN、MMIOM_READ、MMIOM_RENAME、MMIOM_SEEK、MMIOM_WRITE、MMIOM_WRITEFLUSH,这些消息都用于定制的I/O过程。
没有评论:
发表评论