目 录 1
前 言 1
第一章多媒体技术概述 1
第一节多媒体技术的发展 1
一、多媒体技术的发展 1
二、多媒体的组成 2
三、一个新的市场群(PC) 2
四、多媒体技术 3
五、多媒体标准 5
六、多媒体系统开发的技术难题 7
第二章 媒体控制接口——MCI 8
第一节MCI体系结构 8
一、MCI体系结构 8
二、MCI设备 9
三、MCI编程接口 11
四、MCI命令集 12
第二节一个MCI高层接口——MCI窗口 15
一、函数索引 15
二、如何使用 19
第三章媒体编码技术 24
第一节图形图像 24
一、GIF格式图形 24
二、BMP格式的图形 26
三、TGA图形 27
四、FLICS动画 28
五、程序生成的图形 31
第二节MPEG和Video For Windows 31
一、Video For Windows 31
二、MPEG 33
一、OLE的本质 36
第一节概述 36
第四章部件对象模型 ——中COM 36
二、部件对象模型(中COM) 37
三、COM信息管理 37
四、COM对象和界面 38
五、界面及界面实现 39
六、OLE对象类和界面标识(IDD) 40
七、结构化存储(Structured Storage) 41
八、COM客户和服务 42
九、聚合 42
第二节COM编程模型 43
一、复合文件 43
二、IUnknown界面 48
三、COM对象类实现 50
二、DirectX优点 51
一、DirectX的发展 51
第一节DirectX概述 51
第五章DirectX编程指导 51
三、DirectX的组成 52
第二节DirectDraw 53
一、DirectDraw概貌 53
二、DirectDraw界面 56
三、DirectDraw2界面 56
四、DirectDrawClipper界面 61
五、DirectDrawPalette界面 62
六、DirectDrawSurface2界面 63
七、编程辅导 65
第三节DirectSound 69
一、DirectSound概述 69
二、DirectSound特征 70
三、DirectSound的结构 71
四、DirectSound界面 72
五、如何用DirectSound编程 75
一、DirectPlay概述 79
第四节DirectPlay 79
二、重要概述 80
三、DirectPlay界面 82
四、DirectPlay编程指导 84
第六章DirectX中的函数及结构 87
第一节DirectDraw函数结构 87
一、函数 87
二、回调函数 88
三、IDirectDraw2界面 90
四、IDirectDrawClipper界面 91
五、IDirectDrawPalette界面 91
六、IDirectDrawSurface2界面 92
七、有关结构 93
一、函数 110
第二节DirectSound函数结构 110
二、回调函数 111
三、IDirectSound界面 111
四、IDirectSound3DBuffer界面 112
五、IDirectSound3DListener界面 112
六、IDirectSoundBuffer界面 113
七、有关结构 113
第三节DirectPlay函数结构 119
一、函数 119
二、回调函数 121
三、IDirectPlay2界面 124
四、IDirectPlayLobby界面 124
五、有关结构 125
六、系统消息 130
一、什么是ActiveMovie 136
第一节什么是ActiveMovie 136
第七章ActiveMovie概述 136
二、编程模型 137
三、面向对象模型 138
四、Filter Graph Manager和Filter Graph 138
五、ActiveMovie和Internet 140
六、流结构 140
七、Filters和 Pins 140
八、同步 141
九、质量控制 141
十、流控制结构 142
十一、分布插入部件(PID) 142
第二节ActiveMovie和COM 143
一、ActiveMovie中的COM对象 143
二、初始化过程 145
三、ActiveMovie注册对象 146
五、创建插入分部件(Plug-in Distributors——简称PID) 148
四、创建Filter 148
六、类工厂 149
第八章Filter Graph中控制和数据流 151
第一节连接模型 151
一、连接过程 151
二、基类是怎样实现连接的 152
三、何时需要一个重连接 155
第二节Filter Graph中的数据流 156
一、数据是如何在Filter Graph中传递的 156
二、媒体采样数据流 157
三、控制信息流 159
四、事件通知 160
五、Filter Graph控制数据 161
六、质量控制数据 161
七、序列化数据 162
八、IAsyncReader传输 163
第一节框架类 164
一、类CBaseObject和CUnknow 164
第九章ActiveMovie C++类库 164
二、Filter基类 166
三、管脚类 168
四、枚举类 171
五、传输类 172
六、媒体控制和位置类 173
七、参考时钟类 174
第二节实用类 175
一、Win 32类 175
二、列表(1ist)和对列(Queue)类 177
三、媒体数据类型类 178
四、OLE类 179
五、调试类 180
一、Filter Graph管理者界面 182
第十章ActiveMovieCOM界面 182
第一节ActiveMovie COM界面 182
二、Filter界面和管脚界面 186
三、媒体采样和枚举对象界面 188
四、控制界面 189
第二节一个典型的FilterGraph界面 189
一、目的Filter界面 190
二、声音租用Filter 190
三、Filter的连接 190
四、Graph控制界面 191
第十一章Filter 193
第一节Filter概念 193
一、什么是Filter 193
二、什么是管脚 193
五、ActiveMovie中Filter基类 194
三、Filter与流结构的关系 194
四、Filter与管脚的关系 194
六、时间和时钟 195
第二节Filter开发指导 196
一、实现COM服务入口 197
二、ActiveMovie对象的注册 198
三、使用传输Filter基类 200
四、如何创建一个传输Filter 202
第十二章开发ActiveMovie应用 207
第一节如何使用ActiveMovie 207
一、ActiveMovie SDK 207
二、适用的开发环境或语言 209
三、开发注意事项 210
四、开发基本步骤 210
二、实现 215
一、界面设计 215
第二节一个简单的应用 215
三、应用管理 219
第十三章如何在VB中使用ActiveMovie 222
第一节在VB中使用ActiveMovie控制 222
一、什么是ActiveMovie控制 222
二、如何使用ActiveMovie控制 223
三、设计用户界面 225
第二节使用VB来构造FilterGraph 227
一、VB是如何来使用ActiveMovie的 227
二、创建一个Filter Graph 228
三、管理Filter Graph 231
四、使用VB来控制Filter Graph 232
五、总结 237
附录A ActiveMovie事件 240
一、声音压缩管理 241
附录B Filters参考 241
三、AVI解码器 242
四、AVI分离器 242
五、AVI/Wav目的Filter 243
六、颜色空间转换Filter 243
二、Audio租用 244
七、文件目的Filter(同步) 244
八、文件目的Filter(URL) 244
九、全屏幕租用Filter 245
十、IV41编码Filter 245
十一、IV41解码Filter 246
十二、MPEG声音解码 247
十三、MPEG视频解码 247
十四、MPEG-1流分离器 248
十五、Quick Time Movie解析器 248
十六、视频租用Filter 249
十七、WAVE解析Filter 250
附录C ActiveMovie MPEG媒体类型和属性 250
一、MPEG-1媒体类型 250
二、时间邮票 251
附录D ActiveMovie MCI参考 252
附录E 一致的Filter Graph文件格式 253
一、装入一个graph语法 253
二、流中的graph语法 253
附录F ActiveMovie实用函数 254
一、BSTR函数 254
二、位图函数和数据 255
三、临界区调试函数 258
四、转变函数 259
五、错误信息函数 260
六、数学帮助函数 260
七、媒体类型函数 261
八、对象和管脚函数 262
九、属性页帮助函数 263
十、参考时钟函数 264
十一、流整流函数 265
十二、串函数 266
附录G ActiveMovie结构 268
一、ActiveMovie结构 268
二、DIBDATA结构 274
三、Video结构 274
附录H ActiveMovie COM界面 277
一、IAMCollection界面 279
二、IAMovie界面 280
三、IAMovieSetup界面 281
四、IAsyncReader界面 282
五、IBasicAudio界面 282
七、IDeferred Command界面 283
六、IBasicVideo界面 283
八、IFilter界面 284
九、IFilterInfo界面 285
十、IFilterGraph界面 286
十一、IGraphBuilder界面 287
十二、IPin界面 288
十三、IPinInfo界面 289
十四、IQuality Control界面 289
十五、IMediaControl界面 291
十六、IMediaPosition界面 292
十七、IMediaSeeking界面 292
十八、IMediaTypeInfo界面 294
十九、IMemAllocator界面 295
二十、IEnumFilters界面 296
二十一、IEnumMediaTypes界面 296
二十二、IEnumPins界面 297