多媒体数据库在多媒体课件中的应用研究
2014-09-07黎红
黎 红
(广东培正学院 计算机科学与工程系,广东 广州 510830)
0 引言
近几年来,多媒体技术和Internet技术快速发展,网络传输速度不断提高,信息化、网络化、数字化研究与应用不断深入。传统教学体制都受到了不同程度冲击,采用以多媒体技术和计算机网络为手段的现代教育模式,则成为新型教育理念的一个重要内容[1]。
多媒体课件显而易见会得以广泛使用,制作多媒体课件成为专业教师的一种必需手段。而在多媒体课件的制作过程中,要具备两大重要能力:一是丰富的教学经验而积累的教学内容;二是掌握多媒体课件制作软件。
多媒体课件中会处理很多的多媒体数据(声音、图像、视频等等),所以多媒体课件中最关键的技术是如何连接多媒体数据库。本文通过一个讲解在Photoshop中抠图方法的课程的实例,非常完整地展现了在现有关系数据库管理系统的基础上利用文件管理多媒体数据的方式解决多媒体数据库的应用方法。
1 Authorware简介
Authorware是由Author(作家、创造者)和Ware(商品、物品、器皿)两个英语单词组成,顾名思义为“作家用来创造商品的工具”。Authorware最初是由Michael Allen于1987年创建的公司,而multimedia正是Authorware公司的产品。1970年代,Allen参加协助PLATO学习管理系统(Learning Management System,PLM)的开发。Authorware是一种解释型、基于流程的图形编程语言。Authorware被用于创建互动的程序,其中整合了声音、文本、图形、简单动画,以及数字电影[2]。
2 多媒体数据库
2.1 概念
多媒体数据库是数据库技术与多媒体技术结合的产物。是指数据库中的信息不仅涉及各种数字、字符等格式化的表达形式,而且还包括多媒体的非格式化的表达形式,如图像、声音、视频等等[5]。
2.2 实现
多媒体数据库继承了传统数据库的一些优点,但数据管理要涉及到更复杂的处理。目前,多媒体数据库的实现有如下三条途径:
(1)在现有关系数据库管理系统的基础上扩充多媒体数据接口以满足多媒体应用的需要;
(2)基于面向对象模型的多媒体数据库管理系统,因为面向对象数据具有很强的抽象能力,可以很好地满足复杂的多媒体对象的各种表示需求,能够为多媒体数据库的构造提供理想的基础;
(3)基于超媒体模型的多媒体数年库管理系统,超媒体数据库系统是一种以超媒体信息管理技术为基础的分布式系统,用超媒体结点和链分别描述实体和襟体之间的联系,采用超媒体浏览导航机制,可以实现基于媒体内容检索、支持网络化分布共享操作、实用性很强的新型多媒体数据库系统。
3 多媒体课件制作
本文利用Authorware制作了一个关于Photoshop中抠图方法大全的课件,该课件包括抠图知识的教学分析和相关抠图知识,最关键的是抠图案例,在案例中用图片直观地展现了每一种抠图方法的原始图和效果图。图1是此多媒体课件的首页,当点选教学分析后会打开图2,在教学分析中包含有教学目标、教学要求、教学重点和教学难点,当点其中任一项时都会在右半部显示相关内容,点返回会回到首页;在首页点抠图知识会打开图3,在抠图知识中包含抠图简介和抠图分类,当点其中任一项时都会在右半部显示相关内容,点返回会回到首页;在首页点抠图案例会打开图4,在抠图案例中左上部显示的抠图方法,右半部显示该方法的原始图和效果图,在底部有一排按钮,第一页、上一页、下一页、最后页、返回首页,可以实现各种抠图方法的转换[3]。
图2 教学分析
3.1 多媒体课件的实现
3.1.1 框架图
根据总体思路,可以利用PS制作好所需要的素材(按钮、背景图片等等),然后利用Authorware进行合成,Authorware强大和直观的合成功能,几乎可以做到在它的流程线上看到框架图的影子,如图6所示,我们在流程线上加上它的计算、显示和分支图标,整个多媒体课件的框架就展现在眼前了。
图3 抠图知识
图4 抠图案例
图5 框架图
图6 Authorware实现
3.1.2 关键技术
从抠图数据库中将相关图片调出来放在页面上是这个多媒体课件中的关键技术。本实例在设计抠图数据库结构时,原图和效果图字段存放的是该图片的文件名称,只是一个文本字段,而从两方面结合来实现该数据的取用,首先在Authorware中使用图片时,图片属性中的文件指向=FileLocation^"kt"^seekrecordt1,也就是这些图片所在的位置,这样只要seekrecordt1的值确定,就能找到具体的图片[4]。
(1)数据库结构
表1 抠图数据结构表
(2)数据库的联接
1)配置数据库:
mydsn:="抠图"
dbreqtype:=4
dbtype:="microsoft access driver(*.mdb)"
dblist:="dsn="^mydsn^";"
dblist:=dblist^"description=my odbc dsn;"
dblist:=dblist^"file=ms access;"
dblist:=dblist^"dbq="^FileLocation^"抠图.mdb;"
result:=tMsDBRegister(dbreqtype,dbtype,dblist)
2)获得总记录数:
ODBCHandle:=ODBCOpen(WindowHandle,"","抠图","","")
getRecord:="select count(编号)from 抠图库"
xongti:=ODBCExecute(ODBCHandle,getRecord)
ODBCClose(ODBCHandle)
(3)数据的调用;
1)第一页
IDnum:=1
ODBCHandle:=ODBCOpen(WindowHandle,"
","抠图","","")
seekSQL1:="SELECT 抠图方法 from 抠图库 where 编号='"^IDnum^"'"
seekSQL2:="SELECT 抠图步骤 from 抠图库 where 编号='"^IDnum^"'"
seekSQL3:="SELECT 原图 from 抠图库 where 编号='"^IDnum^"'"
seekSQL4:="SELECT 效果图 from 抠图库 where 编号='"^IDnum^"'"
seekrecord1:=ODBCExecute(ODBCHandle,seekSQL1)
seekrecord2:=ODBCExecute(ODBCHandle,seekSQL2)
seekrecordt1:=ODBCExecute(ODBCHandle,seekSQL3)
seekrecordt2:=ODBCExecute(ODBCHandle,seekSQL4)
ODBCClose(ODBCHandle)
2)下一页
IDnum:=IDnum+1
ODBCHandle:=ODBCOpen(WindowHandle,"","抠图","","")
seekSQL1:="SELECT 抠图方法 from 抠图库 where 编号='"^IDnum^"'"
seekSQL2:="SELECT 抠图步骤 from 抠图库 where 编号='"^IDnum^"'"
seekSQL3:="SELECT 原图 from 抠图库 where 编号='"^IDnum^"'"
seekSQL4:="SELECT 效果图 from 抠图库 where 编号='"^IDnum^"'"
seekrecord1:=ODBCExecute(ODBCHandle,seekSQL1)
seekrecord2:=ODBCExecute(ODBCHandle,seekSQL2)
seekrecordt1:=ODBCExecute(ODBCHandle,seekSQL3)
seekrecordt2:=ODBCExecute(ODBCHandle,seekSQL4)
ODBCClose(ODBCHandle)
3)上一页
IDnum:=IDnum-1
ODBCHandle:=ODBCOpen(WindowHandle,"","抠图","","")
seekSQL1:="SELECT 抠图方法 from 抠图库 where 编号='"^IDnum^"'"
seekSQL2:="SELECT 抠图步骤 from 抠图库 where 编号='"^IDnum^"'"
seekSQL3:="SELECT 原图 from 抠图库 where 编号='"^IDnum^"'"
seekSQL4:="SELECT 效果图 from 抠图库 where 编号='"^IDnum^"'"
seekrecord1:=ODBCExecute(ODBCHandle,seekSQL1)
seekrecord2:=ODBCExecute(ODBCHandle,seekSQL2)
seekrecordt1:=ODBCExecute(ODBCHandle,seekSQL3)
seekrecordt2:=ODBCExecute(ODBCHandle,seekSQL4)
ODBCClose(ODBCHandle)
4)最后页
IDnum:=xongti
chakan:=0
ODBCHandle:=ODBCOpen(WindowHandle,"","抠图","","")
seekSQL1:="SELECT 抠图方法 from 抠图库 where 编号='"^IDnum^"'"
seekSQL2:="SELECT 抠图步骤 from 抠图库 where 编号='"^IDnum^"'"
seekSQL3:="SELECT 原图 from 抠图库 where 编号='"^IDnum^"'"
seekSQL4:="SELECT 效果图 from 抠图库 where 编号='"^IDnum^"'"
seekrecord1:=ODBCExecute(ODBCHandle,seekSQL1)
seekrecord2:=ODBCExecute(ODBCHandle,seekSQL2)
seekrecordt1:=ODBCExecute(ODBCHandle,seekSQL3)
seekrecordt2:=ODBCExecute(ODBCHandle,seekSQL4)
ODBCClose(ODBCHandle)
5)返回首页
GoTo(IconID@"首页背景")
4 结束语
从多媒体课件的制作过程及完成效果看,使用在现有关系数据库管理系统的基础上利用了文件管理多媒体数据的方式来解决多媒体数据库的应用方法,虽然这是一种最简单的多媒体数据的管理方式,而且需要多媒体软件的支持,但是对广大老师管理有限的多媒体数据有一定的成效,值得学习和使用。当然真正的多媒体数据库管理是将多媒体数据真正融入到现有的数据库系统中,即现有的DBMS可以实现对多媒体数据库的管理,这是一个发展的方向,而且也在实现中。
参考文献:
[1]黄景碧,黄纯国,罗凌.多媒体技术与应用[M].北京:清华大学出版社,2013.5-7.
[2]邵伟琳,杜敏伟.多媒体设计与制作[M].北京:清华大学出版社,2007.87-100.
[3]郭新房.Authorware7.0多媒体制作基础教程与案例实践[M].北京:清华大学出版社,2007.200-214.
[4]缪亮:Authorware多媒体课件制作实用教程(第三版)[M].北京:清华大学出版社,2009.307-310.
[5]黄志军,曾斌:多媒体数据库技术[M].北京:国防工业出版社,2005.307-310.