1.1 多媒体扩展的特点 1
1.2 多媒体扩展软件的命名约定 1
1.2.1 函数名 1
第一章 简介 1
1.2.2 消息名 2
1.2.3 参数名 2
1.3 多媒体扩展软件的函数调用约定 3
1.4 本参考手册的内容 4
1.5 约定 4
1.6 相关资料 5
1.7 联机参考 5
2.2 低层波形音频服务 7
第二章 函数综述 7
2.1 高层音频服务 7
2.2.1 查询波形设备 8
2.2.2 打开/关闭波形设备 8
2.2.3 取得波形设备的设备ID 9
2.2.4 播放波形数据 9
2.2.5 录制波形数据 9
2.2.6 取得波形设备的当前位置 9
2.2.7 控制波形播放 10
2.2.8 控制波形录制 10
2.2.9 改变音高和播放速率 10
2.3 低层MIDI音频服务 11
2.2.10 改变播放音量 11
2.2.11 处理波形错误 11
2.3.1 查询MIDI设备 12
2.3.2 打开/关闭MIDI设备 12
2.3.3 取得MIDI设备的设备ID 12
2.3.4 发送MIDI消息 13
2.3.5 接收MIDI消息 13
2.3.6 控制MIDI输入 14
2.3.7 改变MIDI音量和预存合成音色 14
2.3.8 处理MIDI错误 14
2.4 辅助音频服务 14
2.5.2 处理影片文件 15
2.5.1 加载多媒体影片演播器 15
2.5 多媒体影片播放服务 15
2.5.3 取得影片信息 16
2.5.4 影片播放 16
2.5.5 控制播放窗口 16
2.5.6 控制播放 17
2.6 文件I/O服务 17
2.6.1 执行基本文件I/O 18
2.6.2 执行缓冲的文件I/O 18
2.6.3 使用RIFF文件 19
2.6.4 使用定制的I/O过程 19
2.7 媒体控制接口服务 19
2.7.2 对时间数据进行编码和译码的MCI宏 20
2.7.1 与MCI设备通讯 20
2.8 操纵杆服务 21
2.9 计时器服务 22
2.10 屏幕保护服务 22
2.11 位图显示服务 22
2.12 调试服务 22
第三章 函数目录 25
3.1 函数前缀 25
3.2 函数说明 25
auxGetNumDevs 26
auxGetVolume 26
auxGetDevCaps 26
auxSetVolume 27
DefScreenSaverProc 28
DisplayDib 29
joyGetDevCaps 30
joyGetNumDevs 31
joyGetPos 31
joyGetthreshold 32
joyReleaseCapture 32
joySetCapture 32
joySetThreshold 33
MCI_MAKE_HMS 34
MCI_HMS_SECOND 34
MCI_HMS_MINUTE 34
MCI_HMS_HOUR 34
MCI_MAKE_MSF 35
MCI_MAKE_TMSF 35
MCI_MSF_FRAME 36
MCI_MSF_MINUTE 36
MCI_MSF_SECOND 36
MCI_MAF_FRAME 36
MCI_TMSF_MINUTE 37
MCI_TMSF_SECOND 37
MCI_TMSF_TRACK 37
mciGetErrorString 38
mciGetDeviceID 38
mciExcute 38
mciSendCommand 39
mciSendString 41
mciSetYieldProc 43
MessageBeep 43
midiAddBuffer 44
midiInClose 45
midiInGetDevCaps 45
midiInGetErrorText 46
midiInGetID 46
midiInGetNumDevs 46
midiInOpen 47
midiInprepareHeader 48
midiInstart 49
midiInReset 49
midiInStop 50
midiInUnprepareHeader 50
midiOutCacheDrumPatches 51
midiOutCachePatches 52
midiOutClose 53
midiOutGetDevCaps 54
midiOutGetErrorText 54
midiOutGetID 55
midiOutGetMunDevs 55
midiOutGetVolume 55
midiOutLongMsg 56
midiOutOpen 57
midiOutPrepareHeader 58
midiOutReset 59
midiOutSetVolume 59
midiOutShortMsg 60
midiOutUnprepareHeader 60
mmioAdvance 61
mmioAscend 62
mmioClose 63
mmioCreateChunk 63
mmioDescend 64
mmioFOURCC 66
mmioGetInfo 66
mmioFlush 66
mmioInstallIOProc 67
mmioOpen 69
mmioRead 71
mmioSeek 72
mmioSendMessage 72
mmioSetBuffer 73
mmioSetInfo 74
mmioStringToFOURCC 74
mmioWrite 74
mmpAnimate 75
mmpClose 76
mmpAnimStopped 76
mmpAnimStatus 76
mmpError 77
mmpFieldLoaded 78
mmpFreeFile 78
mmpGetCurFrame 79
mmpGetFileInfo 79
mmpGetFrameHook 79
mmpGetInfo 79
mmpGetMovieInfo 81
mmpGetMute 81
mmpGetPaletteHandle 81
mmpGetRepeat 81
mmpGoToFrame 82
mmpGetStage 82
mmpGetTempo 82
mmpLoadFile 83
mmpOpen 84
mmpSetDC 84
mmpSetFrameHook 85
mmpSetInfo 86
mmpSetMute 87
mmpSetRepeat 87
mmpSetStage 88
mmpStartAnimating 89
mmpStopAnimating 89
mmpSetTempo 89
mmpUpdate 90
mmsystemGetVersion 90
OutputDebugStr 90
sndPlaySound 91
timeBeginPeriod 92
timeEndPeriod 92
timeGetDevCaps 92
timeGetSystemTime 93
timeGetTime 93
timeKillEvent 93
timeSetEvent 94
waveInClose 95
waveInAddBuffer 95
waveInGetDevCaps 96
waveInGetErrorText 96
waveInGetID 97
waveInGetNumDevs 97
waveInGetPosition 97
waveInOpen 98
waveInprepareHeader 100
waveInReset 100
waveInStart 101
waveInStop 101
waveInUnprepareHeader 101
waveOutClose 102
waveOutBreakLoop 102
waveOutGetDevCaps 103
waveOutGetErrorText 103
waveOutGetID 104
waveOutGetNumDevs 104
waveOutGetPitch 104
waveOutGetPlaybackRate 105
waveOutGetPosition 106
waveOutGetVolume 106
waveOutOpen 107
waveOutPause 109
waveOutPrepareHeader 109
waveOutSetPitch 110
waveReset 110
waveOutRestart 110
waveOutSetPlaybackRate 111
waveOutSetVolume 111
waveOutUnprepareHeader 112
waveOutWrite 113
第四章 消息综述 115
4.1 关于多媒体扩展软件消息 115
4.2 音频消息 115
4.2.1 波形输出消息 115
4.2.2 波形输入消息 116
4.2.3 MIDI输出消息 116
4.2.4 MIDI输入消息 117
4.3 媒体控制接口消息 118
4.3.1 系统命令消息 118
4.3.2 必需命令消息 118
4.3.3 基本命令消息 119
4.3.4 扩展命令消息 120
4.3.5 窗口通告消息 121
4.4 操纵杆消息 121
4.5 文件I/O消息 122
4.6 影片演播器消息 123
4.7 屏幕保护程序消息 123
5.1 MCI命令消息的扩充 125
5.2 消息前缀 125
第五章 消息目录 125
5.3 消息说明 126
MCI_BREAK 126
MCI_CLOSE 127
MCI_COPY 127
MCI_CUE 128
MCI_CUT 128
MCI_DELETE 129
MCI_FREEZE 130
MCI_GETDEVCAPS 130
MCI_INFO 134
MCI_LOAD 135
MCI_OPEN 136
MCI_PASTE 139
MCI_PAUSE 139
MCI_PLAY 140
MCI_PUT 141
MCI_RECORD 143
MCI_RESUME 144
MCI_SAVE 144
MCI_SEEK 145
MCI_SET 146
MCI_SOUND 151
MCI_STATUS 151
MCI_STEP 157
MCI_SYSINFO 158
MCI_STOP 158
MCI_UNFREEZE 159
MCI_WHERE 159
MCI_WINDOW 161
MIM_CLOSE 162
MIM_DATA 162
MIM_ERROR 163
MIM_LONGDATA 163
MIM_LONGERROR 163
MIM_OPEN 164
MM_JOY1BUTTONDOWN 164
MM_JOY1MOVE 165
MM_JOY1BUTONUP 165
MM_JOY1ZMOVE 166
MM_JOY2BUTTONDOWN 166
MM_JOY2BUTTONUP 167
MM_JOY2MOVE 167
MM_JOY2ZMOVE 168
MM_MCINOTEY 168
MM_MIM_CLOSE 169
MM_MIM_DATA 169
MM_MIM_ERROR 170
MM_MIM_LONGDATA 170
MM_MIM_LONGERROR 170
MM_MOM_DONE 171
MM_MOM_CLOSE 171
MM_MIM_OPEN 171
MM_MOM_OPEN 172
MM_WIM_CLOSE 172
MM_WIM_DATA 172
MM_WIM_OPEN 172
MM_WOM_CLOSE 173
MM_WOM_DONE 173
MM_WOM_OPEN 173
MMIOM_CLOSE 174
MMIOM_OPEN 174
MMIOM_READ 174
MMIOM_WRITEFLUSH 175
MMIOM_SEEK 175
MMIOM_WRITE 175
MMP_HOOK_FRAME 176
MMP_HOOK_SCRIPT 176
MOM_CLOSE 176
MOM_DONE 177
MOM_OPEN 177
WIM_CLOSE 177
WIM_DATA 177
WIM_OPEN 178
WM_SYSCOMMAND 178
WOM_OPEN 179
WOM_CLOSE 179
WOM_DONE 179
第六章 数据类型和结构 181
6.1 数据类型 181
6.2 数据结构综述 182
6.2.1 辅助音频数据结构 182
6.2.2 操纵杆数据结构 182
6.2.3 媒体控制接口(MCI)数据结构 182
6.2.4 MIDI音频数据结构 185
6.2.5 影片播放数据结构 185
6.2.6 多媒体文件I/O数据结构 185
6.2.7 计时器数据结构 185
6.3 数据结构参考 186
6.2.8 波形音频数据结构 186
第七章 MCI命令字符串 225
7.1 关于MCI命令 225
7.1.1 系统命令 225
7.1.2 必需命令 225
7.1.3 基本命令 226
7.1.4 扩充命令 226
7.1.5 建立命令字符串 226
7.1.6 关于MCI设备类型 227
7.2 使用MCI命令字符串 228
7.2.1 打开一个设备 228
7.2.2 关闭设备 230
7.2.3 MCI命令的捷径和变化 231
7.2.4 使用Notify和Wait标志 231
7.2.5 从MCI设备中获得信息 233
7.2.6 Play命令 233
7.2.7 Stop、Pause和Resume命令 233
7.3 对命令字符串进行试验 233
7.3.1 MCITEST例子 234
7.4 MCI系统命令 235
7.5 用于所有设备的必需命令 236
7.6 用于特定设备类型的基本命令 237
7.7 动画和影片演播器命令 238
7.8 CD音频(Redbook)命令 243
7.9 MIDI音序器命令 246
7.10 视盘播放器命令 250
7.11 视频叠加命令 253
7.12 波形音频命令 257
第八章 多媒体文件格式 263
8.1 关于RIFF标记文件格式 263
8.1.1 块(chunk) 263
8.1.2 RIFF范式 264
8.1.3 定义和注册RIFF范式 265
8.2 表示RIFF文件的方法 266
8.2.1 元素表示法约定 266
8.2.2 RIFF文件的基本表示法 266
8.2.4 表示RIFF范式定义的扩充表示法 268
8.2.3 用于四字符代码和字符串块的转义序列 268
8.2.5 原子标号 271
8.2.6 一个样本RIFF范式定义和RIFF范式 271
8.3 在范式块中存储字符串 273
8.3.1 NULL结尾字符串(ZSTR)格式 273
8.3.2 字符串表格式 273
8.3.3 NULL结尾的字节大小前缀字符(BZSTR)序列 273
8.3.4 多行字符串格式 273
8.3.5 选择一种存储方法 273
8.4 LIST块 274
8.5 INFO表块 274
8.6 独立于设备的位图(DIB)文件格式 275
8.6.1 DIB结构概述 276
8.6.2 位图文件首部 276
8.6.3 位图信息首部 276
8.6.4 位图颜色表 279
8.6.5 位图数据 281
8.6.6 DIB文件的例子 281
8.7 Windows 3.0位图压缩格式 283
8.7.1 每像素8位的DIB压缩 283
8.7.2 每像素4位的DIB压缩 284
8.8 RIFF DIB文件格式(RDm) 285
8.11.1 影片文件结构 286
8.11 多媒体影片文件格式(RMMP) 286
8.9 乐器数字接口(MIII)文件格式 286
8.10 RIFF MIDI(RMID)文件格式 286
8.11.2 影片文件数据块小结 287
8.11.3 所选影片文件数据块的结构 288
8.12 调色板文件格式(PAL) 291
8.13 Rich文本格式(RTF) 292
8.14 波形音频文件格式(WAVE) 292
8.14.1 WAVE的范式定义 293
8.14.2 WAVE块说明 293
8.14.3 WAVE格式种类 294
8.14.4 样本的数据格式 296
8.14.5 WAVE文件的例子 296
A.1 命令表 297
附录A MCI命令字符串句法总结 297
A.2 MCI系统命令集 298
A.3 必需命令集 299
A.4 基本命令集 299
A.5 动画和影片播放器命令集 301
A.6 CD音频命令集 304
A.7 MIDI音序器命令集 305
A.8 视盘命令集 308
A.9 视频叠加命令集 310
A.10 波形音频命令集 313
附录B 厂家ID与产品ID一览表 317
B.1 多媒体扩展软件的厂家D 317
B.2 多媒体扩展软件的产品ID 317