首页 > 文章中心 > 正文

多媒体创作设计

多媒体创作设计

摘要该文简要分析了目前流行的创作工具的特点,提出了一个集多媒体信息处理、剧本编辑及演播于一体的创作系统的总体结构、设计方法及主要的实现技术,最后给出了用VisualBasic语言编写的播放图形、图像、动画、声频、视频(AVI、MOV及VCD小影碟)等多媒体信息的程序例程。

随着多媒体技术的飞速发展,各种各样的多媒体演示系统在信息领域中发挥着越来越大的作用。其丰富的表现力、生动的视觉及声响效果,大大增强了所演示信息的吸引力。但是,多媒体作品的创作是一项费时费力的工作,不仅涉及到美术、传播、教育、心理等多方面创作因素,而且更需一种能方便地将图、文、声、像等多媒体信息按某种特定要求编合在一起进行表现的方法。为节省多媒体作品的创作时间,需要一种相对简单、集成、高效的创作工具来辅助多媒体作品的创作开发与演播。

本文简要分析了目前流行的多媒体创作工具的特点,提出了一种多媒体创作工具的功能结构、设计方法及实现技术,最后给出一个用VisualBasic语言编写的播放多媒体信息的程序例程。

一、现有多媒体创作工具的类型

目前,最流行的多媒体创作工具主要分为以下三类。

1.描述性语言式

该类工具开发作品的思想是,按书的结构方式将每个标题的开发过程视为一本"书"的组合,每一屏被指定为一页,在每页内可有多级的对象,设定好各页与各页中内容及其之间的动作,然后使用指定的编排设计语言进行作品设计。这类工具中,比较有代表性的是美国Asymetrix公司的MultimediaToolBook工具,其编排设计语言为OPENSCRIPT。这类工具的最大优点是开发时的弹性较好,面向稍懂编程的用户,另外价格较低,易于接受;缺点是整体运行速度慢,虽入门较易,但要掌握其机理需费一番苦功,特别是对多媒体资源的访问,OPENSCRIPT主要通过MCI函数调用,必须在脚本里显式地写出有关调用,且语法和序列并非全直观,又缺少提示,这点足以使非程序员怯步。

2.交互性图标式

这类工具主要是让用户直接在画面上安排所需的元件,定义出元件本身的动作以及元件和元件之间的关系。其工作方式是采用一种形象化的方法在微机上制作多媒体作品,通过选择精简的形象化图标,构成应用程序结构的流程图,然后再往结构中添加内容,流程图定义了多媒体元素的流动过程。这类工具很适合没有程序设计经验的用户,因此在短时间内就可开发出一套交互式的多媒体系统。这类工具中,著名的有美国authorware公司开发的AuthorwareProfessional及美国AimTech公司的IconAuthor。其主要用于开发事件驱动的、需要高交互性的教育、训练模拟以及导览系统。这类工具不足之处是价格一般很贵,灵活性方面受现有系统的限制。

3.时间流程式

该类工具较适合于开发简报系统,它在多媒体显示上具有较强的时间前后顺序,以图形、文字信息为主。比较著名的有ACTION工具、PowerPoint、HarvardGraphic工具等。该类工具对多媒体信息的支持基本上是通过OLE外部方式进行的,因此,演播多媒体时磁盘I/O动作频繁,系统开销大,运行效率低。

上述三类多媒体创作工具开发的运行环境是基于Windows3.X,可处理的音频文件格式为wav、mid;静态图像文件格式为pcx、bmp、gif、tga、jpg、tif、wmf、dib等;动态图像格式为avi、fli、flc等。

二、多媒体创作系统的功能及设计方法通过以上分析,可看出多媒体创作系统一般具有如下特点。

1.易于入门,无需专业级程序员的编程经验,但熟练掌握不易。对某些特定的简单要求,往往要通过熟练掌握后所得到的使用技巧来实现。另外,对时效要求高、常修改的内容,修改也不甚方便。

2.支持许多硬设备和许多文件格式,可生成含有图形、图像、文本、声音、动画、视频元素的复杂产品。

3.具有流程控制能力,可为上述元素提供导引框架。

4.虽包含了图形编辑、动态编辑、数字式动画、视频编辑等多项工具,但多媒体数据的制作能力不如专用软件功能强、精美。

当前,处理多媒体信息的专用软件资源比较丰富,文字方面有WordforWindows、WPS等;图形图像方面有PhotoStyler、Photoshop、CorelDraw等;动画方面有Animator、3DS等;视频方面有VideoforWind

ows、AdobePremiere、QuicktimeforWindows等;声音方面有SoundSystem、WaveEdit等。

对用户而言,已掌握了多媒体处理专用软件,还得学习创作系统中的功能较弱的媒体处理工具,是某种意义上的重复。用户要求在媒体素材设计上精雕细凿,媒体作品演播时灵敏高效。因此,我们的设计原则是,利用现有功能强大的多媒体处理工具,采用系统集成与软件编程相结合的方法,缩短开发周期以创造最佳的软件。既兼顾一般要求,又满足用户演播的特定要求。在方法上综合描述性语言及图标式创作工具的优点,以及软件编程开发在系统弹性和扩充上灵活、应用范围广、用户具体要求明确、软件资源节约的特点,克服现有创作工具灵活

性弱、受现有系统限制的不足。

所设计的多媒体创作系统各模块主要功能如下。

·文本编辑:这是一个文本编辑器,它将所要演播的文字底稿逐行输入,形成文本文件。

·剧本编辑整合:提供一种方便、高效、直观的图、文、声、像数据集成的编辑手段,按用户的设计要求,对各种媒体数据进行编辑整合,制成各媒体对象的进出入效果(如闪烁、飞行、旋转、淡入淡出、大小、定位等等),最后形成一个剧本文件供演播时调用。

·图形图像处理:图形图像部分挂接PhotoShop或PhotoStyler软件,处理多种位图文件,包括wmf、tif、bmp、pcx、tag、gif、dib、jpg等等格式;统计图形方面提供制作各种二维、三维统计图形的手段。

·剧本演播:将剧本编辑整合处理形成的剧本文件直接调入演播,可按自动播放方式或导引、单步控制播放方式进行播出。对动态图像播放可控制暂停、继续。

·二维动画处理:挂接Animator二维动画处理软件,处理并形成fli、flc格式动画文件。

·三维动画处理:挂接3DS三维动画处理软件,制作并形成flc、fli格式的动画文件。

·视频处理:挂接Videoforwindows、QuickTimeforWindows、AdobePremiere软件。对质量要求一般的视频影像,经电视、VCR或影碟机播出,通过视频捕捉卡,处理形成avi、mov格式的视频文件。而对质量要求高、需全屏显示的视频影像,则使用专用数字视频采样压缩工具生成mpeg、dat影像文件存于CD-ROM中,播放时,使用MPEG视频解压卡,将影像文件从光盘中调出,实时解压缩,满足全屏幕、全运动、全彩色的视觉要求。

·声音处理:主要挂接Soundsystem或WaveEdit,处理mid、wav格式的语音文件,并能使用CD-AUDIO音碟资源。

·地图标绘与动画处理:主要处理点阵、矢量地图的标绘及基于地图的简单动画,如箭头、飞机、舰船、车辆等运动目标沿轨迹运动、闪烁、变化过程等,并形成ate自定义格式文件,供演播时调用。

·外接演播工具:主要外挂其它各种多媒体创作工具的演播软件来播放其制作的作品文件。如挂接PowerPoint的PPTVIEW程序,挂接Authorware的RUNAPW程序。

三、多媒体创作系统设计技术的实现

我们在静态图形、图像处理上,使用WindowsAPI编程技术,结合OLE方法;在多媒体数据处理方面,充分使用MCI接口,将各种媒体的编演融合一体。

编程语言采用VisualBasic及VisualC++语言,同时充分利用第三方厂家提供的这两种语言的用户控制对象来解决图、文、声、像等多媒体演播时可能存在的效果限制问题。

1.图、文、声、像的编辑整合功能

具有高效方便的图、文、声、像等多媒体数据编辑整合功能是多媒体创作工具的特点。我们提出了以下这种基于表格方式,以页操作为主的多媒体数据编辑整合的实现方法。

表格形式如表1。

首先将文字底稿调入并自动填入到上述表格中,然后,用清屏方式来定义属于同一页的文字,并定义好该页的背景色、字体、前景色以及该页正文出页方式,根据需要还可定义出该页正文所在行的操作方式、条件及其位置。系统还提供缺省的版面布局供用户使用。

表1

定义好一页的文字以后,就可定义与该页有关的多媒体信息之间的有机关系,可选择声音文件、动画文件、视频文件、统计图、地图标绘动画数据,并定义这些媒体的播放位置、触发条件及进出场效果等。

另外,还可嵌入播放其它著作工具的作品并融合到播出中。这种编辑方法使整个格本形成一个前后一贯的大表格,前、后、左、右滚动可直观方便地浏览全部剧本,操作非常简便,整体性好,每页随时可进行修改,并可随时察看每页效果。

2.多媒体数据访问的实现

(1)采用WindowsAPI处理多媒体数据

我们使用BITBLT函数实现图形图像的变化,MCI接口处理音频、视频、动画、CD-AUDIO数据的播放。

Windows3.1中的MMSYSTEM.DLL动态连接程序库提供了大约一百多个具有多媒体处理能力的API函数,其MCI函数提供了与设备无关的程序接口,应用程序可以通过MCI命令访问符合MCI控制标准的多媒体设备,MCI接口覆盖了多媒体的主要领域,因此可以满足大多数应用系统的开发需要。由于MCI的设备无关性,更换设备时只需更换MCI驱动程序,无需了解每种多媒体产品的细节,系统升级十分方便,提高了应用系统的开发效率及灵活性。

在系统开发中,主要用到的MCI多媒体设备类型及驱动程序如表2。

表2

其余的mpg、dat等视频格式的设备类型及MCI驱动程序视其产品提供的MCI驱动程序而定。

(2)利用用户控制对象VBX进行编程,处理图、文、声、像等多媒体数据

目前有众多知名厂商开发出各类VBX控制对象,支持VisualC++、VisualBasic,VBX有可能成为标准文件格式。这类功能强大的VBX控制对象是开发多媒体系统,提高开发效率,缩短开发周期的有效武器,使我们对复杂的图文特效及外部设备的控制都交给了控制对象去处理,大大减少了编程的工作量,而且准确性、高效性大大地提高。

开发多媒体系统常用到的VBX主要有:支持MCI接口的MCI.VBX(Microsoft公司);支持flc、fli动画演播的VBPLAY.VBX(Autodesk公司);支持图文播放效果的FXTools/VB(ImageFx公司)、Knife.VBX(ImageKnife)、MHPicture.VBX(MicroHelp公司);支持图形、图像、文字播放效果的FXImage.VBX、FXLabel.VBX;支持mov视频播放的QtMove.VBX、QtView.VBX。

四、结束语

多媒体创作系统的开发与通常的应用系统开发有一定的差异,既要有丰富的编程经验,又要充分了解多媒体的特点。

善于利用多媒体集成工具,就能在应用系统开发中作到事半功倍。完成多媒体作品相当部分的工作量在于图形、图像、声音、影像素材的准备,其技术及艺术含量都很高。而多媒体创作系统,其目的是便于用户高效地使用创作工具按某种构想,将图、文、声、像等媒体进行导演、创意及包装。

目前,多媒体创作工具种类越来越多,随着多媒体技术应用发展的深入,开发多媒体的技术将越来越先进、越科学、越方便、越有效。

本系统应用范围广,适用于需经常制作多媒体作品的教育、军事、旅游等部门。

以下是一个用MCI.VBX控制对象来播放多媒体数据的函数实例(VisualBasic编写,对MPEG视频以realmagicMPEG解压卡为例),可看出用控制对象处理多媒体信息的方便高效性。

constMCI_MODE_NOT_OPEN=524

Subclosemedia(byValmediatype)''''关闭媒体

SelectCasemediatype

Case"video","sound","animator"

ifNotMMControl1.Mode=MCI_MODE_NOT_OPENThen

MMControl1.Wait=True

mand="Close"

EndIf

Case"graph"

image.Picture=LoadPicture("")

image.Visible=False

EndSelect

EndSub

SubopenMedia(mediatypeAsString,medianameAsString)''''

打开并演播媒体

IfNotMMControl.Mode=MCI_MODE_NOT_OPEN_Then

MMControl.Wait=True

mand="Close"

EndIf

SelectCaseMediatype

Case"graph"''''图像

image.Picture=LoadPicture(medianame)

image.Visible=True

exitsub

Case"sound"''''声音

tt$=UCase(Right$(medianame,3))

SelectCasett$

Case"WAV"

MMControl.DeviceType="WaveAudio"

Case"MID"

MMControl.DeviceType="Sequencer"

EndSelect

Case"animator"''''二、三维动画

tt$=UCase(Right$(medianame,3))

SelectCasett$

Case"FLC","FLI"

Mmcontrol.DeviceType="Animation1"

Case"MMM"

Mmcontrol.DeviceType="MMMovie"

EndSelect

Case"video"''''视频

tt!=UCase(Right$(medianame,3))

SelectCasttt$

Case"AVI"

Mmcontrol.DeviceType="AVIVideo"

Case"MOV"

Mmcontrol.DeviceType="QtwVideo"

Case"MPG"

Mmcontrol.DeviceType="MMaster"''''reelmagic设备名

Case"DAT"

Mmcontrol.DeviceType="MMaster"''''reelmagic设备名

Case"CDI"

Mmcontrol.DeviceType="MMaster"''''reelmagic设备名

EndSelect

EndSelect

Mmcontrol.FileName=medianame

Mmcontrol.Wait=True

mand="Open"''''打开设备

Mmcontrol.Notify=True

mand="play"''''演播

EndSub