目录 1
第Ⅰ部分 Windows多媒体初步 1
第1章 多媒体引论 1
1.1 什么是多媒体 1
1.2 多媒体的组成 2
1.2.1 正文 2
1.2.2 音频 3
1.2.4 动画 5
1.2.3 静态图象 5
1.2.5 视频图象 6
1.2.6 结论 6
1.3 多媒体中运用的专业手段 7
1.4 多媒体发展史 7
1.5 多媒体的用途 8
1.6 为什么把重点放在Windows多媒体上 9
1.7 为何使用C++ 9
1.8 多媒体个人电脑 10
1.9 多媒体开发者需要的硬件 11
1.8.2 MPC 2级性能指标 11
1.8.1 MPC 1级性能指标 11
1.10 可选设备 12
1.11 开发多媒体应用软件 12
1.12 多媒体应用系统的示例 12
1.12.1 Mayo Clinic健康手册(交互版) 13
1.12.2 Microsoft多媒体贝多芬 13
1.12.3 Compton多媒体百科全书 14
1.12.4 Microsoft乐器 14
1.13 小结 15
1.12.5 带有多媒体灵巧帮助的Lotus1-2-3 15
第2章 ObjectWindows Library程序设计基础 17
2.1 对象体系结构的运用 17
2.2 工作在项目文件上 18
2.2.1 项目文件的使用 19
2.3 创建一个ObjectWindows程序 20
2.4 建立一个应用程序事件 23
2.5 建立一个Windows事件 26
2.5.1 WM_PAINT消息的处理 28
2.6 消息响应函数 29
2.7 在OWL中使用定制光标及图标 32
2.8 ObjectWindows及菜单 36
2.9 在ObjectWindows Library中使用对话框 41
2.10 模式类型 41
2.10.1 模式型与系统模式型对话框 41
2.10.2 模式型对话框 42
2.10.3 对话框及OWL 42
2.11 小结 48
3.1 Microsoft Foundation Classes概述 50
3.1.1 不带有WinMain函数 50
第3章 Microsoft Foundation Classes程序设计基础 50
3.1.2 SDI和MDI应用程序 51
3.1.3 文档和视图 51
3.1.4 主窗口 51
3.2 项目的使用 51
3.2.1 项目文件的使用 52
3.3 建立一个MFC应用程序 53
3.4 使用MFC的定制光标和图标 57
3.4.1 使用资源 58
3.4.2 登记一个新类 58
3.5 显示正文 62
3.5.1 一个显示正文的例子 64
3.6 消息映射 66
3.7 使用MFC菜单 70
3.7.1 响应菜单选择 71
3.8 使用MFC对话框 75
3.8.1 高级对话框 80
3.9 小结 85
第4章 WinHelp多媒体文本 87
4.1 Windows Help介绍 87
第Ⅱ部分 多媒体制作工具 87
4.2 WinHelp功能 88
4.2.1 超链接 89
4.2.2 Pop-up定义 89
4.2.3 多媒体开发者得到的好处 89
4.3 建立一个帮助系统 90
4.3.1 策划一个帮助系统 90
4.4 建立主题文件 91
4.1.1 定义主题 92
4.4.3 建立超链接 93
4.4.4 建立Pop-up定义 93
4.4.2 设置字体 93
4.4.5 使用Help宏 94
4.4.6 使用图形 95
4.4.7 .RTF文件 96
4.4.8 Windows下Word的使用 97
4.5 建立帮助项目文件 99
4.6 编译Help文档 99
4.7 WinHelp编辑工具 100
4.7.1 RoboHelp 100
4.7.2 Doc To Help 101
4.8 小结 101
第5章 多媒体Viewer出版用工具包 103
5.1 什么是Viewer 103
5.2 Viewer操作方式 106
5.3 系统需求 106
5.4.3 热点编辑器 107
5.4.2 主题编辑器 107
5.4.4 Viewer编辑器 107
5.4 多媒体Viewer工具包的工具和方法 107
5.4.1 项目编辑器 107
5.4.5 BitEdit 108
5.4.6 PalEdit 108
5.4.7 WaveEdit 110
5.4.8 变换 110
5.5 多媒体Viewer的使用 110
5.6 制作Viewer题目 110
5.8 主题文件 111
5.9 编译主题 111
5.7 项目文件 111
5.10 开发多媒体题目 112
5.11 Viewer项目文件的操作 112
5.12 Viewer主题文件的操作 115
5.13 链接主题 115
5.14 Viewer命令的操作 117
5.15 Viewer的扩展 119
5.16 媒体控制接口的使用 120
5.17 数据准备工具 120
5.18 最后说明 120
5.19 小结 121
6.1 Video for Windows的定义 122
第6章 Microsoft Video for Windows的使用 122
6.1.1 PC Video能干什么 123
6.1.2 系统需求 123
6.2 Video for Windows的安装 123
6.3 Video for Windows工具程序 124
6.4 Media Player 2 125
6.4.1 视频支持 125
6.4.2 OLE支持 125
6.5 视频采集 127
6.6 编辑视频序列 128
6.5.1 调色板的操作 128
6.6.1 视频压缩 129
6.7 编辑位图图象 129
6.7.1 BitEdit的启动 130
6.7.2 BitEdit工具窗口 131
6.7.3 位图操作命令 132
6.8 编辑颜色 133
6.8.1 选择双视图模式 134
6.8.2 调色板效果 134
6.8.3 保存调色板的变化 134
6.9.1 给波形音频加特殊效果 135
6.9 编辑波形文件 135
6.10 媒体控制接口的控制 136
6.11 小结 136
第7章 QuickTime for Windows的使用 138
7.1 QuickTime for Windows的定义 138
7.1.1 QuickTime的系统需求 138
7.1.2 使用QuickTime for Windows的优点 139
7.1.3 QuickTime for Windows的不足之处 139
7.2 QuickTime for Windows的安装 139
7.2.1 执行安装程序 139
7.3 QuickTime工具 140
7.4 Movie Player的使用 141
7.4.1 显示影片信息 142
7.4.2 把影片画面拷贝到剪贴板 142
7.5 打印影片画面 143
7.6 Picture Viewer的使用 143
7.6.1 显示图形信息 144
7.6.2 把图形拷贝到剪贴板 144
7.6.3 打印图形 144
7.7 存取QuickTime for Windows API 145
7.8 QuickTime for Windows与QuickTime for Macintosh的对比 147
7.9 QuickTime for Windows与Microsoft Video for Windows的对比 148
7.10 小结 148
第8章 Autodesk Animator Pro 150
8.1 Animator Pro的定义 150
8.1.1 Windows与DOS的比较 151
8.1.2 系统需求 151
8.1.3 Animator Pro的安装 151
8.2 Animator Pro的使用 152
8.2.1 查看动画文件 153
8.2.2 绘画工具 154
8.2.3 绘图效果 156
8.3 使用Windows下的动画播放机 158
8.3.1 动画描述文件的使用 159
8.3.2 给动画片加声音 160
8.3.3 动画的选项 161
8.4 小结 162
9.1.1 字形简介 163
9.1 使用带字形的文本 163
第9章 多媒体文本 163
第Ⅲ部分 多媒体程序设计技术 163
9.1.2 字形信息 164
9.1.3 创造字形 165
9.2 字形公共对话框 167
9.2.1 Microsoft Foundation Classes与字形 170
9.2.2 文档显示系统 173
9.2.3 文档显示系统的实现 174
9.2.4 文档显示的MFC版本 189
9.3 小结 199
第10章 多媒体文本制作系统 200
10.1 多媒体文本制作系统 200
10.1.1 输入文本 201
10.1.2 输入图象 201
10.1.3 编辑条目 201
10.2 DocAuth的OWL版本 202
10.3 DocAuth的MFC版本 228
10.4 增添其它特性 254
10.5 小结 254
11.1 Windows中的图形图象 255
11.2 考察图标 255
第11章 多媒体图形图象 255
11.2.1 读图标文件格式 256
11.3 考察Windows元文件 256
11.3.1 内存元文件 256
11.3.2 磁盘元文件 257
11.3.3 元文件例程 258
11.4 考察位图 259
11.5 有关显示图象的其它内容 261
11.6 创建展示屏幕 270
11.7 读位图文件 279
11.8 位图文件信息 280
11.9 小结 295
第12章 调色板控制 296
12.1 理解调色板 296
12.2 色彩方案 297
12.3 Windows与调色板 297
12.4 使用调色板 298
12.5 检验调色板 298
12.6 访问调色板 299
12.7 示例 301
12.8 Windows调色板消息 309
12.9 位图与调色板 310
12.10 创造褪色效果 310
12.11 小结 323
第13章 多媒体数字音频 324
13.1 声音与多媒体 324
13.2 波形音频 324
13.3 波形声音文件 325
13.4 数字音频采样 325
13.6 数字播放 327
13.5 数字录音 327
13.7 数字音频的质量 328
13.8 存储需求 328
13.9 播放数字波形音频 329
13.10 把声音嵌入程序中 336
13.11 小结 345
第14章 Asymetrix Multimedia ToolBook的使用 347
14.1 Multimedia ToolBook的定义 347
14.2 系统需求 348
14.3 安装Multimedia ToolBook 348
14.5 访问书文件 349
14.4 弄清Multimedia ToolBook概念 349
14.6 与Multimedia ToolBook相配合 350
14.7 使用工具板 351
14.8 添加格子 352
14.9 创建背景页 353
14.10 操纵页 354
14.11 创建新页 354
14.12 为页对象增添功能 354
14.13 访问多媒体工具 356
14.16 调用动态链接库 357
14.14 使用OpenScript 357
14.15 使用媒体控制接口 357
14.17 仅是开端 358
14.18 小结 359
第15章 MIDI的使用 360
15.1 MIDI简介 360
15.1.1 MIDI的发展? 360
15.1.2 使用MIDI的好处 361
15.2 MIDI的准确含义 361
15.2.1 MIDI传送的信息 362
15.2.2 MIDI消息 363
15.2.3 MIDI通道 363
15.3 MIDI总览 364
15.3.1 键值 364
15.3.2 速率 365
15.4 MIDI与Windows 365
15.5 通用的MIDI标准 366
15.6 播放MIDI数据 368
15.6.1 媒体控制接口 368
15.7 MIDI程序实例 369
15.8 录制MIDI数据 388
15.9 小结 389
第16章 创建自定义控制 391
16.1 Windows的控制 391
16.1.1 自定义控制 391
16.1.2 自定义控制与窗口类 392
16.2 开发自定义控制 392
16.3 存取自定义控制 397
16.4 自定义控制的水平和垂直线条 397
16.5.2 控制设计初步 403
16.5.1 编程接口 403
16.5 Resource Workshop接口 403
16.5.3 ListClasses函数 404
16.5.4 CustomControlInfo函数 405
16.5.5 CustomControlStyle函数 406
16.5.6 CustomControlFlags函数 406
16.5.7 控制的安装 407
16.6 彩色框控制 407
16.7 测试框形自定义控制 413
16.9 小结 417
16.8 有关控制的设计 417
第17章 自定义控制的进一步讨论 418
17.1 一个VCR自定义控制 418
17.2 自定义控制的排错 419
17.3 浏览源代码 419
17.4 测试VCR控制 426
17.5 一个位图自定义控制 435
17.6 存取其它资源 436
17.7 测试位图自定义控制 446
17.8 小结 450
18.1 什么是VBX控制 451
第18章 创建VBX控制 451
18.2 进一步了解VBX控制 452
18.2.1 特性 452
18.2.2 事件 453
18.3 Microsoft基类和VBX控制 453
18.3.1 用AppWizard生成代码 454
18.3.2 把控制安装到Application Studio中 455
18.3.3 使用特性表 455
18.3.4 定义消息映像 457
18.4 小结 458
18.3.5 在程序中操纵VBX控制 458
第19章 制作特殊效果 460
19.1 什么是特殊效果 460
19.2 渐变图形 460
19.3 向外爆炸和向内爆炸的效果 461
19.3.1 Release Capture();函数 462
19.4 窗口填充效果 462
19.4.1 自上而下 462
19.4.2 自下而上 462
19.4.5 组合填充函数 463
19.5 弹出式窗口 463
19.4.4 自右而左 463
19.4.3 自左而右 463
19.6 特殊效果库 464
19.6.1 OWL测试程序 478
19.6.2 MFC测试程序 483
19.7 小结 488
第20章 制作动画 489
20.1 动画简介 489
20.2 图标动画 489
20.3 位图动画 499
20.4 消除闪烁 505
20.5 小结 513
第21章 制作CD-ROM 514
21.1 为CD-ROM设计应用程序 514
21.2 High Sierra格式 514
21.3 ISO 9660标准 515
21.4 给文件命名 515
21.4.1 路径的长度 515
21.4.2 唯一的卷标识 515
21.5 数据的组织 516
21.4.3 保持较小的目录 516
21.6 在播放声音时读数据 517
21.7 为使用CD-ROM而优化你的程序 517
21.7.1 保持150KB/秒的速度 517
21.7.2 只读属性 517
21.7.3 检测CD-ROM是否已安装 518
21.8 CD-ROM格式 518
21.8.1 红皮书:音频CD 518
21.8.2 黄皮书:CD-ROM 518
21.9 进一步了解一次写入的CD-ROM 519
21.8.4 橙皮书:CD-WO和CD-MO 519
21.8.3 绿皮书:CD-I 519
21.10 CD-ROM出版工具 520
21.11 CD-ROM制造商 520
21.12 包装信息 521
21.13 小结 521
第22章 多媒体屏幕保护程序 522
22.1 屏幕保护程序简介 522
22.2 创建屏幕保护程序类库 524
22.3 屏幕保护程序实例 532
22.4 小结 538
第23章 安装多媒体应用程序 539
23.1 安装 539
23.2 安装程序的特殊考虑 540
23.3 检测驱动程序 540
23.3.1 检测系统性能 540
23.3.2 数字波形音频 541
23.3.3 检测MIDI设备驱动程序 541
23.3.4 检测调色板 542
23.3.5 检测MCI驱动程序 542
23.4 添加设备驱动程序 543
23.5 测试目标系统 544
23.5.1 Windows信息 544
23.5.2 硬盘空间 545
23.6 拷贝文件 546
23.6.1 创建子目录 546
23.6.2 文件安装库 546
23.6.3 压缩文件 546
23.6.4 拷贝文件 547
23.7 版本控制 548
23.8 与程序管理器对话 549
23.9 撤消 550
23.10 小结 550
第Ⅳ部分 访问Windows多媒体API 552
第24章 媒体控制接口 552
24.1 什么是MCI 552
24.2 简单设备和复合设备 554
24.3 MCI命令的类型 554
24.4 MCI系统命令 564
24.4.1 动画命令 564
24.4.2 CD音频命令 568
24.4.3 数字视频命令 570
24.4.4 视频叠加命令 575
24.4.5 MIDI音序器命令 578
24.4.6 视盘播放器命令 581
24.4.7 波形音频命令 585
24.5 小结 589
第25章 基于消息的MCI命令 591
25.1 为什么要使用基于消息的MCI 591
25.2 基于消息的MCI的使用 592
25.3 设备标识符 592
25.4 打开MCI设备 593
25.5 访问MCI设备 594
25.6 关闭MCI设备 594
25.7 基于消息的MCI示范程序 594
25.8 基于消息的MCI说明 610
MCI_BREAK 611
MCI_CLOSE 611
MCI_COPY 612
MCI_CUE 613
MCI_CUT 613
MCI_DELETE 614
MCI_FREEZE 615
MCI_GETDEVCAPS 615
MCI_INFO 617
MCI_LOAD 618
MCI_OPEN 619
MCI_PASTE 621
MCI_PAUSE 622
MCI_PLAY 623
MCI_PUT 624
MCI_RECORD 626
MCI_RESUME 627
MCI_SAVE 628
MCI_SEEK 629
MCI_SET 629
MCI_SOUND 633
MCI_STATUS 634
MCI_STEP 636
MCI_STOP 637
MCI_SYSINFO 638
MCI_WHERE 639
MCI_UNFREEZE 639
MCI_WINDOW 641
25.9 小结 642
第26章 波形音频函数 644
26.1 波形音频函数 644
26.2 播放声音 645
26.3 函数参考说明 646
MessageBeep 646
sndPlaySound 647
waveInAddBuffer 649
waveInGetDevCaps 650
waveInClose 650
waveInGetErrorText 651
waveInGetID 652
waveInGetNumDevs 652
waveInGetPosition 653
waveInOpen 654
waveInPrepareHeader 656
waveInReset 657
waveInStart 657
waveInUnprepareHeader 658
waveInStop 658
waveOutBreakLoop 659
waveOutClose 660
waveOutGetDevCaps 660
waveOutGetErrorText 661
waveOutGetID 662
waveOutGetNumDevs 662
waveOutGetPitch 662
waveOutGetPlaybackRate 663
waveOutGetPosition 664
waveOutGetVolume 665
waveOutOpen 666
waveOutPause 668
waveOutPrepareHeader 668
waveOutReset 669
waveOutRestart 669
waveOutSetPitch 670
waveOutSetPlaybackRate 671
waveOutSetVolume 671
waveOutUnprepareHeader 672
waveOutWrite 673
26.4 小结 674
第27章 多媒体计时器函数 675
27.1 存取多媒体计时器 675
27.2 获得系统时间 676
27.3 确定计时器精度 676
27.4 使用计时器事件 676
27.5 函数说明 677
timeBeginPeriod 677
timeGetDevCaps 678
timeEndPeriod 678
timeGetSystemTime 679
timeGetTime 680
timeKillEvent 680
timeSetEvent 681
27.6 小结 682
第28章 MIDI函数 683
28.1 MIDI函数 683
28.4 MIDI函数说明 685
midiInAddBuffer 685
28.3 录制MIDI数据 685
28.2 播放MIDI数据 685
midiInClose 686
midiInGetDevCaps 687
midiInGetErrorText 688
midiInGetNumDevs 688
midiInOpen 689
midiInPrepareHeader 690
midiInReset 691
midiInStop 692
midiInStart 692
midiInUnprepareHeader 693
midiOutCacheDrumPatches 693
midiOutCachePatches 694
midiOutClose 695
midiOutGetDevCaps 696
midiOutGetErrorText 697
midiOutGetNumDevs 698
midiOutGetVolume 698
midiOutGetID 698
midiOutLongMsg 699
midiOutOpen 700
midiOutPrepareHeader 701
midiOutReset 702
midiOutSetVolume 703
midiOutShortMsg 703
midiOutUnprepareHeader 704
28.5 小结 705
29.3 使用多媒体文件I/O函数 706
29.2 多媒体文件格式 706
29.1 多媒体文件I/O函数 706
第29章 多媒体文件I/O函数 706
29.4 使用缓冲的文件I/O 708
29.5 使用RIFF文件 709
29.6 RIFF文件 709
29.7 用户I/O函数 710
29.8 多媒体文件I/O函数 710
mmioAdvance 710
mmioClose 711
mmioAscend 711
mmoCreateChunk 712
mmioDescend 713
mmioFlush 714
mmioFOURCC 714
mmioGetInfo 715
mmioInstallIOProc 716
mmioOpen 717
mmioRead 719
mmioSendMessage 720
mmioSeek 720
mmioSetBuffer 721
mmioSetInfo 721
mmioStringToFOURCC 722
mmioWrite 723
29.9 小结 723
第30章 操纵杆函数 725
30.1 安装磁盘驱动程序 725
30.2 存取操纵杆 726
30.3 实例程序 727
30.4 函数说明 737
joyGetDevCaps 737
joyGetNumDevs 738
joyGetPos 739
joyGetThreshold 740
joyReleaseCapture 741
joySetCapture 741
joySetThreshold 742
30.5 小结 743
31.1.1 波形音频输出消息 744
31.1.2 波形音频输入消息 744
第31章 多媒体消息 744
31.1 波形音频消息 744
31.2 MIDI消息 745
31.2.1 MIDI输出消息 745
31.2.2 MIDI输入消息 745
31.3 操纵杆消息 746
31.4 多媒体文件I/O消息 747
3I.5 多媒体消息参考 747
MIM_CLOSE 747
MIM_DATA 747
MIM_LONGERROR 748
MIM_ERROR 748
MIM_LONGDATA 748
MIM_OPEN 749
MM_JOY1BUTTONDOWN 749
MM_JOY1BUTTONUP 750
MM_JOY1MOVE 750
MM_JOY1ZMOVE 750
MM_JOY2BUTTONDOWN 751
MM_JOY2BUTTONUP 751
MM_MCINOTIFY 752
MM_JOY2MOVE 752
MM_JOY2ZMOVE 752
MM_MIM_CLOSE 753
MM_MIM_DATA 753
MM_MIM_ERROR 753
MM_MIM_LONGDATA 754
MM_MIM_LONGERROR 754
MM_MIM_OPEN 755
MM_MOM_CLOSE 755
MM_MOM_DONE 755
MM_WIM_DATA 756
MM_MOM_OPEN 756
MM_WIM_CLOSE 756
MM_WIM_OPEN 757
MM_WOM_CLOSE 757
MM_WOM_DONE 757
MM_WOM_OPEN 758
MMIOM_CLOSE 758
MMIOM_OPEN 758
MMIOM_READ 758
MMIOM_WRITEFLUSH 759
MMIOM_SEEK 759
MMIOM_WRITE 759
MOM_CLOSE 760
MOM_DONE 760
MOM_OPEN 760
WIM_CLOSE 761
WIM_DATA 761
WOM_CLOSE 761
WOM_OPEN 762
WOM_DONE 762
第32章 多媒体文件格式 763
32.1 文件格式 763
32.2 RIFF文件详解 764
32.3 RIFF文件表示 764
32.4 音频视频交互文件格式 765
32.5 位图文件格式 770
32.5.1 位图文件格式定义 770
32.6 光标文件格式 772
32.6.1 光标文件格式定义 772
32.7.1 图标文件格式定义 774
32.7 图标文件格式 774
32.8 Windows元文件格式 776
32.8.1 元文件格式定义 776
32.9 波形数字音频文件的格式 777
第33章 多媒体数据结构 779
33.1 通用多媒体数据类型 779
33.2 数据结构说明 779
JOYCAPS 779
MIDIOUTCAPS 780
MIDIINCAPS 780
MIDIHDR 780
JOYINFO 780
MMIOINFO 781
MMCKINFO 781
MMTIME 782
PCMWAVEFORMAT 782
TIMECAPS 782
WAVEFORMAT 783
WAVEHDR 783
WAVEINCAPS 783
WAVEOUTCAPS 783