{广告传媒}多媒体应用程序的设计

上传人:卓****库 文档编号:140583619 上传时间:2020-07-30 格式:PPTX 页数:48 大小:293.80KB
返回 下载 相关 举报
{广告传媒}多媒体应用程序的设计_第1页
第1页 / 共48页
{广告传媒}多媒体应用程序的设计_第2页
第2页 / 共48页
{广告传媒}多媒体应用程序的设计_第3页
第3页 / 共48页
{广告传媒}多媒体应用程序的设计_第4页
第4页 / 共48页
{广告传媒}多媒体应用程序的设计_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《{广告传媒}多媒体应用程序的设计》由会员分享,可在线阅读,更多相关《{广告传媒}多媒体应用程序的设计(48页珍藏版)》请在金锄头文库上搜索。

1、,程序设计,何倩 桂电信息与通信学院,教材: 面向对象与可视化程序设计 (第二版)黄维通编著,清华大学出版社 参考书: 1. 程序设计教程,钱能编著, 清华大学出版社 2 程序设计基础与实例分析,朱晴婷编著,第10讲 多媒体应用程序的设计,2,12.1 利用音频函数,为了介绍多媒体程序的设计,我们先介绍一个非常简单的例子,希望读者能够通过这个简单的例子,了解音频文件的播放方法,3,12.1.1 一个简单的应用实例,【例12-1】设计一个简单的音频播放程序,程序启动时,播放系动启动时候的音乐,1.创建工程文件;打开文件,在 语句的上一行顶头加入语句 ,2.将与应用程序链接起来,3.在的()函数中

2、的 之前加上代码: ();,4,12.1.2 几个常用的音频函数,()函数:用来播放系统提示音 ()函数:播放音频 ()函数:播放来自资源中的声音,(),(),(),功能包含关系,5,12.1.3 用控制波形声音的播放,( , 接收命令消息的设备 , 发送的命令消息 , 命令消息的标志集 ) 消息参数的结构体地址,常用的设备消息 见教材表12-5,6,在调用设备时可用()检测错误,该函数的原型如下: ( , 错误代码 , 指向错误内容字串的指针 错误内容的缓冲区容量 ),7,【例12-2】编写一个音频播放器程序,可以选择音频文件,并控制其播放、暂停播放、暂停后的继续播放以及停止播放的功能,8,

3、1. 将头文件加入到文件中,将多媒体函数库通过菜单中的命令来与程序链接起来,2.在类上增加类型的成员变量,具体如下: (作为判断正在播放的标识) (作为判断正在播放的标识)、 (用来储存错误代码)、 (用来储存打开设备的值) (用来储存出错内容),9,() (); : ;初始化正在播放标识 ;初始化正在暂停标识 0;初始化设备标识 ; ,10,() 打开一个文件 ;定义类的用来存储文件名 ;定义类的用来存储文件扩展名 定义结构体变量用来存储打开文件的信息和返回的设备标识信息 ;定义用来储存返回的错误标识 =波形音频文件(*)|*序列(*)|*0; (); 通过打开按钮时显示的内容,11,()

4、();获取打开的文件名 ();获取打开的文件扩展名 () 如果程序正在播放,则关闭 (,0); 关闭正在播放的声音 ()如果关闭不成功,则显示出错的原因 (,() (,出错); (不明错误标识,出错); 给出相应报告 ; ,12,如果没有声音正在播放,则获取打开文件的后辍,并根据后辍决定相应的打开类型 ()当后辍为时 ; ()当后辍为时 ; ; 将打开的文件名存入结构体中 (0,()(); 发送打开文件命令,参数说明设备类型名包含在结构体中, 参数说明要打开的文件名包含在结构体中,13,()如果打开不成功,则显示出错的原因 (,() (,出错); (不明错误标识,出错); ; 将获取的设备值赋

5、给全局变量 设置正在播放标识为 设置正在暂停标识为 ,14,() 从头开始播放 ; 结构体变量存储播放相关信息 ()如果没有正在播放的声音 ()(); 为发送消息指定窗口句柄 0设置播放位置从头开始 (,()(); 开始播放声音,参数说明开始播放的位置包含在结构体中 参数的意义是播放完后发送消息,15,() (,() (,出错); (不明错误标识,出错); ; 设置正在播放标识为 ,16,() ()如果有正在播放的声音 ()如果不是暂停状态 (,0); 则暂停播放 () (,() (,出错); (不明错误标识,出错); ; ;设置正在暂停标识为 ,17,如果已经是暂停状态 (,0); 则继续播

6、放 () (,() (,出错); (不明错误标识,出错); ; 设置正在暂停标识为 ,18,() (); 发送停止命令消息,参数说明当命令执行结束后函数才返回值 () (,() (,出错); (不明错误标识,出错); ; ;设置正在播放标识为 ;设置正在暂停标识为 (如要播放新的文件,请在打开前先关闭现有文件,注意); 提请用户注意先关闭现有文件 ,19,() 关闭当前设备 () 若什么文件都没有打开过,就不执行关闭操作 (); () (,() (,出错); (不明错误标识,出错); ; (,0); () (,() (,出错); (不明错误标识,出错); ; 0;关闭文件后将变量设为 0 ,2

7、0,() 点击确定的响应 (); 先执行关闭文件的操作 ();关闭窗口 ,21,手动加入消息的处理函数 在中的函数 : ()的 “” 和 “()” 语句之间加入如下代码: ( );,22,在中的消息映射入口处加入如下代码: ()。 样式如下: (, ) () () () () (, ) (, ) (, ) (, ) (, ) () (),23,将函数加入应用程序中: ( ) () 成功播放完成后重置标识 设置正在播放标识为 设置正在暂停标识为 0; -1否则返回错误 ,24,12.2 利用 控件实现多媒体程序设计,【例12-3】编写应用程序,使得用户可以分别选择一个视频文件和一个音频文件来同时

8、播放或者分别播放,25,为类添加四个成员,两个用来播放多媒体文件,两个用来保存待播放的文件名,修改后的文件如下: 4; 前示声明 : : (); () : * (); 4* ; 用来播放视频 4* ; 用来播放音频 ; 视频文件名 ; 音频文件名 ;,26,初始化和释放指针,修改文件: 4 () : = 4; = 4; () ; ;,27,对于和两个变量,由于对应的是控件,因此不但需要来初始化指针,还需要使用它的函数来创建初始化控件。 由于两个控件是作为的子窗口运行的,通常它们的创建是在的函数中完成,因此需要响应的消息,并在其中创建两个控件:,28,( ) () -1) -1; : (, );

9、 获得标准箭头鼠标指针 ( | | | , , 0, 0), , , (0,0,0,0), , 0); 创建视频窗口 由于使用单独的音频来播放,将视频设置为静音模式 ()(); ( | | | , , 0, 0), , , (0,0,0,0), , 0); 创建音频窗口 (); 将音频窗口设置为不可见 0; ,29,们添加“操作”及相关菜单项,30,() = (*;*;*)|*;*;*; 只允许打开视频文件 (, , , , ); () ) = () 获得视频文件名 () ()(); 首先停止正在播放的 ()(); 准备播放 (); 载入视频文件自动播放 ,31,() ()(); 停止播放 (

10、) 只允许打开音频文件 = (*;*3)|*;*3; (, , , , ); () ) = () 获得音频文件名 ,32,() ()(); 首先停止正在播放的 ()(); 准备播放 (); 载入视频文件自动播放 () ()(); 停止播放 ,33,有了以上代码,程序还不能够正常运行,需要为播放视频的控件设置窗口尺寸。为此需要响应的消息,该消息响应函数如下: ( , , ) (, , ); : ; (); (); 在播放视频时,该控件会自动显示出的控制面板,可以通过在函数中,在创建之后调用函数来隐藏该控件的控制面板。 ();,34,12.3常见格式图片的显示,程序中经常要显示各种图片,对于普通的

11、、等位图格式文件,的,函数已经提供了支持,但是对于网页中常见的、以及矢量格式的图片, 自带了一个实现这个功能的函数。但是由于中只提到该函数支持、格式,因此该函数经常被大家忽视,这里将介绍如何使用该函数来显示各种格式的图片。,35,【例12-4】使用创建 应用程序,用来装载并显示图片。 创建工程文件。为显示图片,为添加成员以装载图形,并定义载入图片的函数的声明: ; : ( ); 接下来为成员添加初始化和释放的代码: () = ; () ()();,36,为实现打开文件,我们添加“操作”菜单,增加菜单项“载入图片”,其为,然后映射消息响应函数: () ; 保存文件名的缓冲 (, ); 初始化该缓

12、冲 ; 打开文件的关键结构 (, (); 初始化该结构 () 设置该结构的大小 设置属性:文件必须存在、路径必须存在、隐藏只读文件 | | ; ; 设置该文件框的父窗口,37,( (*;*;*;*;*;*)0 *;*;*;*;*;*0 (*)0*0 (*)0*0 (*)0 *0 (*)0*0 (*)0*0 (*)0*00); 设置支持的文件扩展名 (选择图片); 对话框标题 = ; 设置返回文件名的缓冲 = ; 设置缓冲的长度 ( () 调用对话框 (); 载入该文件 ,38,下面实现关键函数: ( ) (,0,0); 打开文件 ( ); = (, ); 获得文件大小 (-1 ); = ; =

13、 (, ); 分配全局内存,获得内存句柄 ( ); = (); 锁定内存,获得内存指针 ( );,39,= 0; = (, , , , ); 读取文件 ( ); (); (); = ; = (, , ); 从内存数据创建* () );,40,() 创建 (); 从接口中载入图片到中 = (, , , , ( *); () ); (); 释放接口(); 强制重新绘制窗口 ,通过以上调用,我们的程序已经将位图文件成功载入到变量中了,41,下面就是显示的步骤,与一般的绘图程序类似,显示代码也是在中完成。 2540 (* ) * = (); (); : () ; ; (); ();,42,(, (),

14、 ), ); (, (), ), ); ; (); (),0,0, ,0); ,43,【例12-5】在上例的基础上对所载入的图片进行50%压缩显示 。,添加菜单项“压缩50%”,其为,为了控制显示模式,为类添加一个控制变量: ; 在的实现中添加对该变量的初始化,以及对应菜单项的处理: () = ; = ; ,44,() = ; (); (* ) (); ,45,下面需要实现显示函数,提供的可以实现图片的缩放显示。在上例的函数的最后一行前面加入如下内容: () ; ; (); (); (, (), ), ); (, (), ), );,46,CRect rc;GetClientRect( ,47,谢 谢,20.7.3017:30:2617:3017:3020.7.3020.7.3017:30,17:3017:30:2620.7.3020.7.3017:30:26,2020年7月30日星期四5时30分26秒,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号