Visual C++.NET多媒体应用开发技术

副标题:无

作   者:李博轩等编著

分类号:

ISBN:9787118029116

微信扫一扫,移动浏览光盘

简介

一般来说,多媒体的含义就是使用文本以外的媒体向他们传递信息,这些媒体可以是动画、图像、音频或视频等。如果要求程序员来开发多媒体功能并将其包含于应用程序中,那么这将非常耗时而且效率低下;然而如果将多媒体功能置于操作系统中,就会使多媒体应用程序的开发效率大为提高。 Windows本身就是为多媒体应用提供了很多支持,便如GDI+和MCI等。GDI+是Windows XP或Windows.NET服务器操作系统的一部分,用以提供二维矢量图形、图像和排印技术。GDI+是GDI(Windows早期版本中包括的图形设备接口)的改进版本,其中不但优化了GDI中的现存性能,而用增加了很多新性能。MCI(Media Control Interface,媒体控制接口)为播放多媒体设备和录制多媒体资源文件提供了标准命令,这些命令是几乎所有多媒体设备类型的通用接口。其他多媒体技术,例如MCIWnd、音频/视频管理器、视频捕捉等技术的底层大多与MCI相关。 微软DirectX是一套底层应用程序编程接口(API,Application Programming Interface),用以创建游戏或其他高性能多媒体应用程序。DirectX支持二维和三维图形、音效、音乐、输入设备和朕网应用程序(例如多玩家游戏),目前DirectX的最新版为8.1。DirectX是创建PC游戏和多媒体应用程序的优秀工具。大多数C/C++DirectX应用程序开发使用的都是常用编程技术;然而,DirectX编程某些方面也会涉及到特别的技术。 在Windows平台中进行多媒体应用开发时,既可以使用Windows内建的多媒体技术,也可以使用微软专门开发的高级多媒体技术DirectX。前者主要用于在常规应用程序中添加媒体支持,后者则主要用于游戏的开发。Windows还支持其他多媒体开发技术,例如OpenGL,但限于篇幅,本书将主要专注于微软提供的技术。

目录

第1章 多媒体编程基础

1.1 windows多媒体技术

1.1.1 gdi+

1.1.2 mcl

1.2 directx技术

1.2.1 directx的优越性

1.2.2 directx 8.1的新特性

1.2.3 directx 8.1组件

1.2.4 directx工具

1.2.5 使用com

1.2.6 使用回调函数

1.2.7 版本检查

1.2.8 编译directx(应用程序

1.2.9 调试directx(应用程序

本章小结

第2章 gdi+

2.1 gdi+概述

2.1.1 gdi+的结构

2.1.2 gdi+接口的结构

2.2 直线、曲线和形状

.2.2.1 矢量图概述

2.2.2 画笔、直线和矩形

2.2.3 椭圆和圆弧

2.2.4 多边形

2.2.5 三次样条

2.2.6 贝塞尔曲线

2.2.7 路径

2.2.8 画刷和实心图形

2.2.9 开放和闭合曲线

2.2.10 区域

2.2.11 裁剪

2.2.12 压平路径

2.2.13 直线和曲线的抗混叠(保真)

2.3 图像、位图和图元文件

2.3.1 位图类型

2.3.2 图元文件

2.3.3 绘制、定位和克隆图像

2.3.4 裁剪和缩放图像

2.3.5 图像编码器

2.3.6 多帧图像

2.4 坐标系和坐标变换

2.4.1 坐标系的类型

2.4.2 转换矩阵

2.4.3 复合变换

2.4.4 全局和局部变换

2.4.5 图像容器

2.5 再着色

2.5.1 使用颜色矩阵

2.5.2 平移颜色

2.5.3 缩放颜色

2.5.4 旋转颜色

2.5.5 剪切颜色

2.5.6 使用颜色重映射表

2.6 gdi十输出

2.6.1 将gdi十输出发送给打印机

2.6.2 显示打印对话框

2.6.3 优化打印

本章小结

第3章 多媒体文件i/o

3.1 多媒体文件i/o概述

3.1.1 基础服务

3.1.2 缓冲服务

3.1.3 rifp服务

3.1.4 定制服务

3.2 使用多媒体文件i/o

3.2.1 打开多媒体文件

3.2.2 创建和删除多媒体文件

3.2.3 搜索文件中的新位置

3.2.4 修改加缓冲区尺寸

3.2.5 访问文件i/o缓冲区

3.2.6 生成4字符代码

3.2.7 创建riff信息块

3.2.8 搜索riff块

3.2.9 搜索子块

3.2.10 对riff文件执行文件i/o

3.2.11 执行内存文件i/o

3.2.12 安装定制i/o过程

3.2.13 与其他应用程序共享i/o过程

本章小结

第4章 mcl编程基础

4.1 mci命令字符串和消息

4.1.1 命令字符串

4.1.2 命令消息

4.2 mci命令的分类

4.2.1 系统命令

4.2.2 必要命令

4.2.3 基础命令

4.2.4 扩展命令

4.3 mci函数、宏和消息

4.4 mci标志

4.4.1 whit标志

4.4.2 notify标志

4.4.3 test标志

4.4.4 命令快捷方式

4.5 mci设备

4.5.1 设备控制

4.5.2 播放和定位

4.5.3 设备类型

4.5.4 设备名

4.5.5 mci命令的驱动程序支持

4.5.6 驱动程序的默认行为

4.5.7 特定设备的命令集

4.6 操作mci设备

4.6.1 打开设备

4.6.2 获取与设备相关的信息

4.6.3 获取mci系统信息

4.6.4 播放设备

4.6.5 录制

4.6.6 停止、暂停和恢复设备

4.6.7 关闭设备

本章小结

第5章 波形音频

5.1 波形音频概述

5.1.1 波形音频文件的质量

5.1.2 波形音频文件的格式

5.1.3 波形音频的处理函数

5.2 使用messagebeep播放波形音频

5.3 使用playsound播放波形音频

5.4 使用mci播放波形音频、

5.4.1 波形音频常用mci命令和标志

5.4.2 波形音频的mci编程步骤

5.4.3 建立处理波形音频的类

5.5 设计一个波形音频播放器

5.5.1 创建应用程序框架

5.5.2 完成应用程序功能设计

5.6 使用低级设备函数播放波形音频

5.6.1 波形低级设备函数

5.6.2 低级波形设备函数编程

本章小结

第6章mldl

6.1 midi概述

6.1.1 midi消息

6.1.2 midi文件的格式

6.2 使用mci播放midl

6.2.1 midi常用mci命令和标志

6.2.2 midi的mci编程步骤

6.2.3 建立处理midi的类

6.3 设计一个midi播放器

6.3.1 创建应用程序框架

6.3.2 完成应用程序功能设计

6.4 使用低级设备函数播放midi音频

6.4.1 midi低级设备函数

6.4.2 midi低级设备函数编程

本章小结

第7章 cd音频

7.1 cd音频概述

7.2 使用mci播放cd

7.2.1 cd常用mci命令和标志

7.2.2 cd音频的mci编程步骤

7.2.3 建立处理cd音频的类

7.3 设计一个cd音频播放器

7.3.1 创建应用程序框架

7.3.2 完成应用程序功能设计

本章小结

第8章 数字视频

8.1 数字视频概述

8.2 使用mci播放数字视频

8.2.1 数字视频常用mci命令和标志

8.2.2 数字视频的mci编程步骤

8.2.3 建立处理数字视频的类

8.3 设计数字视频播放器

8.3.1 创建应用程序框架

8.3.2 完成应用程序功能设计

本章小结

第9章 设计媒体播放器

9.1 制作处理媒体文件的动态链接库

9.1.1 动态链接库概述

9.1.2 制作自己的动态链接库

9.2 设计媒体播放器

9.2.1 建立应用程序框架

9.2.2 应用程序的设计

本章小结

第10章 mciwnd窗口类

10.1 mciwnd窗口类概述

10.1.1 mciwnd窗口的用户界面

10.1.2 播放多媒体

10.1.3 播放控制

10.1.4 多媒体录制

10.1.5 播放增强

10.1.6 错误消息和通告

10.1.7 与mci设备进行通信

10.2 使用mciwnd窗口类

10.2.1 创建mciwnd窗口

10.2.2 自动化播放

10.2.3 暂停和恢复播放

10.2.4 限制播放范围

10.2.5 使用mciwnd进行录制

10.2.6 定制记录处理

10.2.7 裁剪图像

10.2.8 扩展图像

10.2.9 扩展图像和窗口

本章小结

第11章 音频舰频压缩管理器

1i.1 acm概述

11.1.1 映射波形音频设备

11.1.2 音频压缩管理器的工作方式

11.1.3 音频压缩管理器函数和结构

11.1.4 由系统调用的函数

11.2 使用acm

11.2.1 获取描述滤波程序的字符串

11.2.2 为选择滤波器生成对话框

11.2.3 为选择指定类型的格式生成对话框

11.2.4 为选择受限格式生成对话框

11.2.5 为选择保存格式生成对话框

11.2.6 为选择录制格式生成对话框

11.2.7 转换数据格式

11.2.8 多步格式转换

11.2.9 查找指定格式

11.2.10 查找指定驱动程序

11.2.11 在应用程序中添加驱动程序

11.2.12 生成非标准格式

11.3 vcm概述

11.3.1 vcm结构

11.3.2 压缩/解压缩程序和渲染程序的系统项

11.3.3 vcm服务

11.4 使用vcm

11.4.1 定位并打开压缩程序和解压缩程序

11.4.2 安装压缩程序和解压缩程序

11.4.3 配置压缩程序和解压缩程序

11.4.4 获取与压缩程序和解压缩程序相关的信息

11.4.5 确定压缩程序的输出格式

11.4.6 压缩数据

11.4.7 确定解压缩程序的输出格式

11.4.8 解压缩数据

11.4.9 确定驱动程序是否能处理输入格式

11.4.10 准备绘制数据

11.4.11 绘制数据

11.4.12 监测压缩程序和解压缩程序的进程

本章小结

第12章 avlfile和视频捕捉

12.1 avi函数和宏概述

12.1.1 函数数据类型和返回值

12.1.2 avifile操作

12.1.3 流操作

12.2 使用avifile函数和宏

12.2.1 打开avi文件

12.2.2 打开avi文件中的流并关闭文件

12.2.3 从avi文件中读取流

12.2.4 执行流读写

12.2.5 使用编辑函数和剪贴板

12.3 视频捕捉概述

12.3.1 实现简单的视频捕捉

12.3.2 基础捕捉选项

12.3.3 捕捉窗口

12.3.4 音频和视频捕捉

12.3.5 捕捉时使用的文件和缓冲区

12.3.6 捕捉的其他类型

12.3.7 高级捕捉选项

12.3.8 avicap回调函数

12.4 使用视频捕捉

12.4.1 创建捕捉窗口

12.4.2 连接捕捉驱动程序

12.4.3 枚举已安装的捕捉驱动程序

12.4.4 获取捕捉驱动程序的性能

12.4.5 获取捕捉窗口的状态

12.4.6 显示设置视频特征的对话框

12.4.7 获取和设置视频格式

12.4.8 预览视频

12.4.9 启用视频覆盖

12.4.10 命名捕捉文件

12.4.11 格式化视频捕捉

12.4.12 修改视频捕捉设置

12.4.13 捕捉数据

12.4.14 添加信息块

12.4.15 为应用程序加入回调函数

12.4.16 创建状态回调函数

12.4.17 创建错误回调函数

12.4.18 创建帧回调函数

本章小结

第13章 direct3d

13.1 direct3d的新特性

13.1.1 direct3d 8.0的新特性

13.1.2 direct3d 8.1的新特性

13.2 direct3d结构

13.2.1 硬件抽象层

13.2.2 系统整合

13.2.3 可编程顶点着色引擎结构

13.2.4 可编程像素着色引擎结构

13.3 顶点数据

13.3.1 3d坐标系

13.3.2 3d图元

13.3.3 矩形

13.3.4 矢量、顶点和四元数

13.3.5 面和顶点法线向量

13.3.6 三角内插子

13.3.7 三角形光栅化规则

13.4 创建direct3d设备

13.4.1 创建窗口

13.4.2 初始化direct3d

13.4.3 处理系统消息

13.4.4 渲染和显示场景

13.4.5 关闭应用程序

13.4.6 完整的示例代码

13.5 渲染顶点

13.5.1 定制顶点类型

13.5.2 设置顶点缓冲区

13.5.3 渲染显示器

13.5.4 完整的示例代码

13.6 3d变换

13.6.1 定义世界变换矩阵

13.2 定义视图变换矩阵

13.6.3 定义投影变换矩阵

13.6.4 完整的示例代码

13.7 创建和使用光照

13.7.1 初始化场景几何体

13.7.2 设置材质和光照

13.7.3 完整的示例代码

13.8 使用纹理

13.8.1 定义定制的顶点格式

13.8.2初始化屏幕几何体

13.8.3 渲染场景

13.8.4 完整的示例代码

13.9 使用mesh

13.9.1 载入mesh对象

13.9.2 渲染mesh对象

13.9.3 卸载mesh对象

13.9.4 完整的示例代码

本章小结

第14章 directx音频

14.1 directx音频简介

14.1.1 directx音频的新特性

14.1.2 directx音频的功能

14.1.3 directx音频的基础概念

14.1.4 direcdx音频的基本使用步骤

14.2 播放音频文件

14.2.1 执行初始化

14.2.2 载入文件

14.2.3 播放文件

14.2.4 关闭程序

14.3 使用音频路径

14.3.1 创建音频路径

14.3.2 获取缓冲区

14.3.3 修改缓冲区参数

本章小结

第15章 directlnpub

15.1 ddectinput简介

15.1.1 dkectinput的新特性

15.1.2 dvectlnput的功能

15.1.3 directinput对象

15.1.4 directinput对象与windows的交互

15.1.5 directinput的基本使用步骤

15.2 使用键盘

15.2.1 创建dkectinput对象

15.2.2 创建dkectinput键盘设备

15.2.3 设置键盘数据格式

15.2.4 设置键盘行为

15.2.5 获取对键盘的访问

15.2.6 获取键盘数据

15.2.7 关闭directinput系统

15.2.8 可重用的dkectinput函数

15.3 使用鼠标

15.3.1 创建directinput鼠标设备

15.3.2 设置鼠标数据格式

15.3.3 设置鼠标行为

15.3.4 为鼠标准备缓冲输入

15.3.5 管理对鼠标的访问

15.3.6 获取鼠标的缓冲数据

15.3.7 完整的程序代码

15.4 使用游戏杆

15.4.1 枚举游戏杆

15.4.2 创建directinput游戏杆设备

15.4.3 设置游戏杆数据格式

15.4.4 设置游戏杆行为

15.4.5 获取对游戏杆的访问

15.4.6 获取游戏杆数据

15.5 使用力反馈设备

15.5.1 枚举力反馈设备

15.5.2 创建directinput力反馈设备

15.5.3 枚举效果

15.5.4 创建效果

本章小结


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Visual C++.NET多媒体应用开发技术
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon