第1章 强大的多媒体开发平台-Visual C++ 1
1.1 关于Visual C++ 1
1.2 为什么要用Visual C++开发多媒体编程 1
1.2.1 编程语言的优势 2
1.2.2 Visual C++的优势 2
本章小结 3
第2章 多媒体技术概述 5
2.1 什么是多媒体 5
2.1.1 多媒体和多媒体技术 5
2.1.2 多媒体技术的历史和未来 6
2.1.3 多媒体技术的特点与优势 7
2.1.4 多媒体系统的关键技术 8
2.2 多媒体计算机 9
2.2.1 多媒体计算机的一般配置 9
2.2.2 多媒体个人计算机(MPC) 9
2.2.3 CD-ROM 10
2.3 Window的多媒体软件环境 12
2.3.1 Windows的多媒体设备 12
2.3.2 媒体控制接口(MCL) 13
2.3.3 多媒体文件格式 15
2.4.1 多媒体文本 16
2.4 Windows中多媒体的各种表现形式 16
2.4.2 多媒体图形图像 17
2.4.3 多媒体动画设计 17
2.4.4 多媒体音频 18
2.4.5 多媒体数字视频 19
2.5 开发媒体应用程序的步骤和方法 19
本章小结 22
第3章 多媒体的文本处理 23
3.1 文本输出的基本原理 23
3.1.1 图形设备接口-GDI 23
3.1.2 设备上下文 25
3.1.3 字体对象 26
3.1.4 映射方式 29
3.1.5 编程实例:LOGFONT结构和CFont对象的使用 33
3.2 文本输出的编程技巧 39
3.2.1 旋转文本的显示 39
3.2.2 空心字的输出 41
3.2.3 渐变字的显示 44
3.2.4 艺术字体的输出 46
3.2.5 使用绘图模式创建特殊效果 54
3.3 文本控件的使用 58
3.3.1 Visual C++中的控件和CEdit类 59
3.3.2 Edit Box控件的使用 63
3.3.3 CEdit类成员函数的使用技巧 71
3.3.4 RichEditCtrl控件和CRichEditCtrl类 74
本章小结 84
第4章 多媒体数字图像编程 85
4.1 图形图像初探 85
4.1.1 图像基本概念 85
4.1.2 图像的压缩编码 89
4.1.3 图像文件的各种类型 90
4.2 Windows中的位图 92
4.2.1 与设备相关位图-DDB 93
4.2.2 与设备无关位图-DIB 101
4.2.3 CDib类的编写 106
4.2.4 DIB位图的显示 122
4.3 Windows中的调色板 123
4.3.1 调色板的工作原理 124
4.3.2 硬件调色板、系统调色板和逻辑调色板 124
4.3.3 调色板的创建和操作 126
4.3.5 编程实例:调色板颜色的显示 128
4.3.4 调色板消息 128
4.4 位图特效的设计与实现 132
4.4.1 多媒体启动封面 132
4.4.2 扫描特效 138
4.4.3 移动特效 142
4.4.4 百叶窗效果 145
4.4.5 栅条效果 147
4.4.6 马赛克效果 150
4.5 图形控件的使用 154
4.5.1 Picture控件 154
4.5.2 CBitmapButton控件 155
4.6 关于OpenGl编程 161
4.7 屏幕保护程序的设计及实现 164
本章小结 174
第5章 多媒体动画编程 175
5.1 多媒体动画设计基本原理 175
5.2 使用GDI设计动画 176
5.2.1 位图动画 176
5.2.2 图标动画 180
5.2.3 光标动画 185
5.3.1 利用CImageList类创建动画 190
5.3 CImageList类和动画控件 190
5.3.2 动画控件(CAnimateDtrl)的使用 200
5.3.3 Multimedia控件的使用 212
本章小结 226
第6章 多媒体视频编程 229
6.1 数字视频概述 229
6.1.1 数字视频基本概念 229
6.1.2 AVI文件纪录视频信息的优越性 229
6.2.1 MCI简介 230
6.2.2 基于信息和字符串的MCI编程方式 230
6.2 使用MCI播放数字视频 230
6.2.3 MCI中的三个核心函数 232
6.2.4 MCI的基本操作 234
6.3 数字视频MCI编程 240
6.3.1 首先进行可重用MCI类的Exdigital类的功能设计 240
6.3.2 完成CDigitalVedeo类成员函数的设计 242
6.4 设计一个数字视频播放器 252
6.4.1 创建应用程序框架 252
6.4.2 设计应用界面 253
6.4.3 完成应用程序的功能设计 256
6.5.2 MCIWnd类成员函数 266
6.5 采用MCIWnd类设计视频播放器 266
6.5.1 MCIWnd简介 266
6.5.3采用MCIWnd类设计多媒体视频应用程序的步骤 273
本章小结 283
第7章 音频编程 285
7.1 多媒体音频 285
7.1.1 Windows下所包含的三种音频 285
7.1.2 音频信号的基本概念 286
7.2.1 决定波形音频声音质量的几个因素: 288
7.2 波形音频 288
7.2.2 波形音频的文件格式 289
7.2.3 波形文件数据的读取 291
7.2.4 采用高级函数进行波形音频编程 294
7.2.5 采用低级音频函数播放音频文件 303
7.2.6 使用MCI编写波形形音频播放器 312
7.2.7 动手设计一个波形音频播放器 312
7.3 乐器数字接口MIDI 328
7.3.1 MIDI概述 328
7.3.2 MIDI消息 330
7.3.4 低级MIDI函数编程 331
7.3.3 MIDI编程概述 331
7.3.5 使用MCI播放MIDI 333
7.3.6 使用MCI设计一个MIDI播放器 344
7.4 CD音频编程 351
7.4.1 CD概述 351
7.4.2 使用MCI进行CD编程用到的基本命令 351
7.4.3 MCI函数实现CD的几种基本操作 352
7.4.4 设计一个可重用的CD播放类 353
7.4.5 设计一个CD播放器 364
本章小结 370
8.1.1 DirectX和COM的关系 371
第8章 DirectX在多媒体编程中的应用 371
8.1 DirectX概述 371
8.1.2 DirectX基本结构 372
8.2 高性能的图形接口DirectDraw 373
8.2.1 DirectDraw概述 373
8.2.2 DirectDraw编程基础 379
8.2.3 使用DirectDraw实现动画编程 400
8.3 奇妙的声音世界-DirectSound和三维世界-Direct3D 411
8.3.1 DirectSound概述 411
8.3.3 DirectSound结构体系 412
8.3.2 DirectSound和系统的关系 412
8.3.4 三维造型-Direct3D 414
本章小结 415
第9章 SameBall游戏设计 417
9.1 游戏设计概述 417
9.1.1 游戏的一般设计过程 417
9.1.2 SameBall游戏概述 419
9.2 SameBall游戏的设计总流程 419
9.3 游戏功能实现方案 420
9.4.2 MapNode类 421
9.4.1 Ball类 421
9.4 SameBall游戏各对象具体构造及其实现 421
9.4.3 SameBallMap类 422
9.4.4 CChildView类 426
本章小结 431
附录1-Visual C++编程规范 433
附录2-Visual C++调试技巧 435
附录3-Visual C++开发相关站点 445
附录4-多媒体MPC标准 447
附录5-多媒体文件I/O函数 449