老哥学习网 - www.lg9.cn 2024年05月08日 18:31 星期三
当前位置 首页 >杂文文章 >

必要的组件修复flash 基于flash组件的视频点播系统三层架构设计与实现

发布时间:2019-06-04 06:46:28 浏览数:

  摘要:Flash作为一个矢量动画制作软件,其工作模式是基于时间轴的延展。文章提出基于flash组件的应用系统三层架构模型,即将系统的表示层、数据层和资源层分离,降低各逻辑层间的藕合度,提高应用flash进行开发的工作效率,并以视频点播系统为例进行了三层架构的设计与实现。
  关键词:flash组件 视频点播 xml
  中图分类号:G434 文献标识码:A 文章编号:1007-9416(2012)10-0158-02
  1、引言
  Flash作为一个优秀的矢量动画制作软件,它以流式控制技术和矢量技术为核心,开发的作品具有体积小、交互性强、表现力强等特点,被广泛应用于网页动画设计和多媒体产品开发。在Flash中创作内容时,需要在Flash文档中基于时间轴进行工作,即将素材都放在Flash产品的源文件中,内容随着时间轴的延长而逐步展开。随着Action Script的应用,Flash成为动画创作与应用程序开发于一身的创作软件,在开发包含图像、声音、视频和交互性的富媒体应用程序中发挥着越来越大的作用,本文应用flash组件并结合XML 技术设计开发了一个视频点播系统。
  2、基于flash组件的视频点播系统设计
  基于flash组件的视频点播系统主要采用导航组件、内容呈现组件和数据组件构建系统的表示层、数据层和资源层,完成音视频文件的分类管理、存储描述和点播播放,以实现用户按需播放视音频节目(图1)。
  表示层:提供用户界面,加载和显示外部数据和各种资源。主要通过两类组件来实现:导航组件和内容呈现组件。其中,导航组件有List、Menu、Tree等,其作用是显示由数据组件导入的外部XML数据,使用该组件可以快速地建立导航系统。内容呈现组件主要有FLVPlayback、Loader、ScrollPane等,其作用是加载和显示外部的各种资源,例如:FLVPlayback组件可以显示FLV视频文件。这些被加载资源的信息来自导航组件传递过来的数据。通过组件的数据绑定功能,可以轻松地实现数据在各组件之间的传递。
  数据层:是对原始数据的操作层,具体为表示层提供数据服务,主要包括数据描述和数据连接。分别通过xml和XMLConnector实现。XML可以根据数据提供者的需要自行定义标记、属性名及描述法,应用xml对资源层的原始数据进行标记描述。XMLConnector组件充当其它组件和外部XML数据源之间的连接器,将外部的XML数据加载到Flash中,以供其他组件使用。
  资源层:该层主要是结构化的原始数据,将包括文本、图片、动画、视音频等资源分解为相对独立的、粒度较小的多个部分,供表示层调用。
  3、基于flash组件的视频点播系统的实现
  以“某公司输油处员工培训”视频点播系统为例,说明三层架构的实现过程。
  3.1 准备素材——资源层
  拍/录视频,并利用Flash 8 Video Encoder制作为flv格式。将flv视频存放在video文件夹内。
  3.2 生成xml文件——数据层
  创建一个xml文件,描述要载入的视频资源的名称、URL地址。其基本格式如下:
  
  
  
  
  
  
  
  ……
  
  XML文档形成了一种树结构,它从“根部”开始,然后扩展到“枝叶”。"root" 标记是这个XML 文档的根元素,"node" 标记是根元素下面的子元素, 一个根元素可以有多个子元素,"subnode" 标记是"node" 元素下面的子元素,每一个子元素也都可以包含多个子元素。这里用"label" 和"url"来描述视频资源的两个基本属性:名称和存放位置。如果有更多的视频,按照这种方式依次扩展。
  3.3 利用xmlconnector组件实现数据绑定——数据层
  (1)设置xmlconnector组件的实例参数,将url值设置为先前创建的video.xml文档,数据传送方向设为receive,意为只是将xml数据装入Flash影片。
  (2)将XMLConnector组件与XML数据进行绑定。打开XMLConnector组件的组件检查器,在架构选项卡下选择”results:XML”属性,单击“从示例XML文件导入架构”,选择建立的video.XML文件导入架构。
  3.4 创建系统导航——表示层
  (1)创建一个list组件,并进行实例化。
  (2)将XMLConnector组件与list组件进行绑定。
  打开XMLConnector组件的组件检查器,在“绑定”选项卡下添加绑定,选择”node:Array”将绑定到list组件上。
  选定绑定项,将”direction”值设置为”out”,因为这里是将XMLConnector组件的数据绑定到List组件。设置”bound to”字段,在Component path中选择List组件,在Schema location中选择”dataProvider”属性。这样,数据就会由XMLConnector组件传递给L ist组件,并在L ist组件中显示出来。
  (3)触发XMLConnector组件。完成组件之间的数据绑定之后,还要对XMLConnector组件进行触发。这样在运行时XMLConnector组件就会将XML数据加载到程序中。其触发代码如下:
  Var cnc:mx.data.components.XMLConnector;
  cnc. trigger( ) ; //这里cnc为XMLConnector组件实例名
  3.5 创建视频播放窗口
  (1)创建一个FLVPlayback组件,并进行实例化和属性设置。
  (2)将FLVPlayback组件与list组件进行绑定。
  首先为list组件实例的selectedItem属性添加label和url属性。
  再将url的值映射到FLVPlayback组件实例的contentPath属性。在list组件检查器中设置”bound to”,组件路径设置为:FLVPlayback组件实例,架构位置为:contentPath:string。List组件的url属性中包含到达flv视频的路径,当选择List组件的列表项时, FLVPlayback组件就会自动播放与之相对应的视频。
  4、结语
  基于flash组件的视频点播系统三层架构模型具有如下几个特点:
  (1)表示层、数据层和资源层的三层架构模型功能完善,应用灵活,选择不同的组件及组件组合,可以快速地建立满足不同实际需求的系统。如: 使用tree组件和Loader组件构建一门课程的框架结构。
  (2)表示层、数据层和资源层的分离,降低了各层间的藕合度,便于对内容进行维护、更新和扩展。维护和更新时,只需要在XML文档中添加、删除或者修改相应的item 元素,并对资源层进行更新就可以了,不用对Flash源文件进行修改。
  (3)操作简单快捷、开发速度快、便于分工协作、各层的开发制作可以同步进行。制作时,只需要完成组件和数据的绑定传输,以及一些简单的脚本语言编写,就可以实现视频点播的功能。
  参考文献
  [1]徐绪堪等. Flash 8动画制作与ActionScript编程[M].清华大学出版社,2006:118-122.
  [2]赵志靖.基于Flash+xml+fms的视频点播系统的设计与实现.中国教育信息化[J],2007(8):48-52.
  [3] 潘明寒主.Flash 8动画与交互动画制作教程[M].北京航空航天大学出版社,2008:202-203.

推荐访问:架构 组件 视频点播系统 设计

相关文章:

Top