CN101630248A - flash处理装置和处理方法 - Google Patents
flash处理装置和处理方法 Download PDFInfo
- Publication number
- CN101630248A CN101630248A CN200910041681A CN200910041681A CN101630248A CN 101630248 A CN101630248 A CN 101630248A CN 200910041681 A CN200910041681 A CN 200910041681A CN 200910041681 A CN200910041681 A CN 200910041681A CN 101630248 A CN101630248 A CN 101630248A
- Authority
- CN
- China
- Prior art keywords
- interface
- flash
- code
- player
- function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
一种flash处理装置,属于计算机领域。包括flash控件、播放器和管理器,所述播放器封装有flash控件,所述管理器管理播放器,所述播放器调用外部的应用程序接口(API)访问计算机本地资源。以及利用上述flash处理装置来处理flash的方法,包括读取flash文件在控件中播放动画和运行AS代码;向AS代码传递格式化的播放命令代码;AS代码向外部传递接口调用代码;解析接口调用代码得到应用程序接口及其函数的运行参数;运行所述应用程序接口的函数;返回所述应用程序接口函数的运行结果。通过调用外部的应用程序接口(API),使来自网络的flash能够访问计算机本地资源,达到flash本地化的目的;同时结构简单,是一种小型化的flash处理装置。
Description
【技术领域】
本发明涉及计算机领域,尤其涉及一种flash处理装置和处理方法。
【背景技术】
Flash是一种多媒体格式(后缀.swf),因其数据量小和互动性强等优点广泛流行于网络。在本地计算机上播放flash需要安装能够支持flash文件格式的播放器,在网页上播放flash需要加载flash控件。由于网络安全的风险,flash只能在flash控件提供的环境中运行,因此对本地计算机资源的访问是受限的,更不用说用户自定义功能提升flash播放体验。
为解决这个问题,Adobe公司提供了AIR(Adobe Integrated Runtime)平台,AIR平台是一个可通用的flash本地化平台,但是它在自定义和扩展方面不方便,即用户不能通过自行编写API来扩展已有功能,不能满足用户自身的特殊要求;另外因其作用不仅仅是用于flash本地化,所以发行的安装包较大。
【发明内容】
有鉴于此,有必要提供一种便于访问本地计算机资源的小型的flash处理装置。
此外,还有必要提供一种便于访问本地计算机资源的小型的flash处理方法。
一种flash处理装置,包括flash控件、播放器和管理器,所述播放器封装有所述flash控件并包含解析器,所述管理器管理播放器,所述flash控件播放flash文件并运行其中的AS代码,所述播放器向AS代码传递格式化的操作命令代码并接收AS代码向外部传递接口调用代码,所述播放器解析所述接口调用代码得到能够访问计算机本地资源的应用程序接口及其函数的运行参数。
一种flash处理方法,包括如下步骤:读取flash文件进行播放并运行AS代码;向AS代码传递格式化的操作命令代码;AS代码向外部传递接口调用代码;解析接口调用代码得到应用程序接口及其函数的运行参数;运行所述应用程序接口的函数;返回所述应用程序接口的函数的运行结果。
通过调用外部的应用程序接口(API),使来自网络的flash能够访问计算机本地资源,达到flash本地化的目的;同时处理装置的结构简单,是一种小型化的装置,本发明的实施例中flash处理装置的安装包只有不到0.5M,是AIR的1/20。
优选地,所述外部应用程序接口包括预定义接口和自定义接口。
优选地,所述预定义接口包括窗体操作接口、外部事件通知接口、互调接口、文件操作接口以及通信接口。
优选地,所述自定义接口通过在播放器中注册自定义的应用程序接口来实现自定义功能。
利用自定义接口可以扩展播放功能。
优选地,所述播放命令代码、接口调用代码以及运行结果均为xml代码。
【附图说明】
图1为flash处理装置原理图;
图2为flash处理装置结构图。
【具体实施方式】
如图1所示,为实施例原理示意图。flash文件通过flash处理装置访问计算机本地资源。
如图2所示,flash处理装置包括flash控件、播放器和管理器。flash控件提供播放flash文件并运行其中的AS代码。播放器封装flash控件并包含解析器,还用于注册应用程序接口。管理器对播放器进行统一管理,包括创建、销毁播放器等。
管理器对播放器进行管理是通过调用应用程序接口(API)实现的,即管理器通过调用创建播放器的API、销毁播放器的API以及不同的播放器之间相互调用的API等来实现创建、销毁播放器以及不同播放器之间的相互调用。
播放器通过调用应用程序接口(API)访问计算机本地资源处理flash文件。应用程序接口(API)包括预定义接口和自定义接口。
预定义接口可以是窗体操作接口、外部事件通知接口、互调接口、文件操作接口、通信接口等。窗体操作接口,实现对窗体的创建、移动、显示隐藏、销毁、属性获取等操作、控制窗体播放指定的flash文件。外部对窗口的操作如移动、隐藏、或运行中导致的其他事件如失去焦点等都由外部事件通知接口通知相应的窗体。互调接口用于在不同flash文件的AS运行时相互调用函数。文件操作接口用于对本地文件的读写操作。通信接口使用本地的socket进行通信。以上所列仅为播放flash中常用的接口,实际中能调用的应用程序接口不仅限于此。
自定义接口由用户自行定义、自行编写和开发,通过在播放器中注册后就成为flash文件可调用的应用程序接口,使用自定义的应用程序接口可以实现自定义功能,满足用户自身对flash播放的特殊要求。
以上述的flash处理装置为基础详述flash处理方法:
S1:读取flash文件进行播放并运行AS代码。播放器封装有flash控件,flash控件是提供播放flash文件的功能及AS代码的运行环境,读取的flash文件直接传递给flash控件进行播放并运行AS代码。
S2:向AS代码传递格式化的操作命令代码。播放器调用AS代码是通过调用AS的函数实现的,播放器调用AS代码使用格式化的播放命令代码。
S3:AS代码向外部传递接口调用代码。以格式化的代码传递接口调用代码。AS代码调用外部应用程序接口只能通过其提供的ExternalInterface来实现,AS代码调用外部应用程序接口实际上是通过ExternalInterface来调用的。
S4:解析上述的接口调用代码得到应用程序接口函数及其运行参数。解析接口调用代码是通过接口解析器完成的,本实施例中是解析格式化的xml代码,其操作代码示例如下:
APIParser
BOOL Parser(string strXml);解析xml
string Name();返回API名称
Int ParameterCount();返回参数个数
string GetParameter(int nIndex);返回参数nIndex的值
Void SetResult(string strXml);设置结果
S5:运行应用程序接口函数。
S6:返回应用程序接口函数的运行结果。
上述步骤中,播放命令代码、接口调用代码以及运行结果均为xml代码。
下面以播放flash文件为例,说明处理的过程:
实施例1
首先读取flash文件至flash控件,由flash控件播放动画并运行AS代码。AS代码可以随时接受播放器的操作命令代码。若AS代码也包含需要调用外部的应用程序接口才能完成某些功能,则向播放器传递一个格式化的xml代码,该代码中包含要调用的API的所有信息。经解析器解析成API函数以及运行参数,该API函数对计算机本地资源享有完全的访问权限。函数的运行结果再以xml代码的形式返回给flash控件,AS代码根据运行结果实现flash动画的相应改变。
如将本实施例的flash处理装置用于台式电脑的电子宠物的应用程序。flash文件中包含很多与宠物动作有关的动画和AS代码,播放器读取该flash文件后即创建一个窗体显示该电子宠物。比如如果长时间不与电子宠物交互,AS代码中包含的计时函数在时间到达某个阈值后会产生一个表示“无聊”的消息,结果是使电子宠物在电脑屏幕内四处走动。因为电子宠物是在窗口内显示并且播放的,因此电子宠物在屏幕内的走动实际上是通过窗口的移动来实现的。此时窗体一边播放电子宠物行走的动画,AS代码一边调用窗体操作API来实现窗体的移动,即AS代码向播放器传递窗口操作API的调用代码,一般也是用格式化的xml代码来传递的。经过播放器中解析器的解析后,确定API函数以及其运行参数如窗体移动的距离等。运行该API函数向flash控件返回结果,AS代码根据该结果将窗体显示在另外一个位置。如果在电子宠物走动时用鼠标点击该电子宠物,电子宠物视为主人开始关注它,此时可以通过播放器调用flash文件中的AS函数停止窗体的移动并且播放电子宠物欢呼的动作。
上述的窗口操作API在很多场合都能够用到,因此封装在本实施例的flash处理装置中,AS代码通过格式化的xml代码即可进行调用来实现对窗体的操作。但是为了实现一些特殊的播放功能,用户也可以自行开发API。自行开发的API在播放器中进行注册后,AS代码就可以调用该自定义API实现自定义功能,因此扩展功能非常方便简单。
实施例2
一般来说,播放器只能调用本身播放的flash文件中包含的AS代码中的函数而不能调用其他播放器AS代码中的函数,但是有时播放器之间需要进行一些配合以达到特殊的效果。
对于跨播放器的API的调用,涉及两个以上播放器之间的交互,由管理器对不同播放器之间的通信进行协调。如两个播放器之间的函数调用由管理器调用一个名为RemoteCall的API完成,该API涉及将一个播放器的命令传递给另一个播放器,并由管理器协调两个交互的播放器之间的通信。
如实现人进行足球表演的效果。flash处理装置中的管理器通过调用创建播放器的API创建两个播放器player1和player2,管理器同时保存player1和player2为交互的播放器的信息。player1播放flash文件person.swf,person.swf文件是关于人进行足球表演的动作,此时在player1的播放窗体中只有人的动作。player2播放flash文件football.swf,football.swf是关于足球运动的,player2的播放窗体中只有足球。根据上述的处理flash的步骤,player1读取person.swf文件在flash控件中进行播放并运行其中的AS代码,如最开始循环播放人在原地热身的动作,并且由AS代码随时侦听来自播放器的操作命令。可通过键盘或鼠标激活相应的动作,如颠球、转球等。发出动作命令后,由播放器调用AS代码中相应的函数实现人的相应动作,同时player2中的足球就要根据人的动作做出相应的变化。为了达到同步的效果,player1就需要通过RemoteCall调用player2中对足球动作进行控制的函数。此时需要为足球的动作添加一个函数,以便外部调用,即football.swf调用ExternalInterface.addcallback添加被调用函数“bound”。
通过键盘或鼠标,播放器取得了如“颠球”的命令,然后通过xml格式的代码调用person.swf文件的AS代码中关于控制人做“颠球”动作的函数,于是player1的窗体中开始播放人的颠球动作。与此同时,person.swf还通过ExternalInterface.call来调用应用程序接口RemoteCall,该应用程序接口即实现播放器之间的函数调用。如ExternalInterface.call(″API.RemoteCall″,″player2″″bound″....)表示调用player2中的bound,这里bound是控制足球跳动的函数,其后包含的参数示例为球做上下往复运动的起点和终点坐标,以及根据人腿移动频率产生的足球运动的速度等。
再如,“转球”效果。player1通过RemoteCall调用player2中flash文件AS代码的控制足球转动的函数,同时提供足球转动时的坐标,即人的手指尖的坐标。
以上所举只是简单的示例,可以通过提供更多的flash动画以及AS代码实现更为复杂多变的效果,其主要原理同上。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (9)
1、一种flash处理装置,其特征在于,所述flash处理装置包括flash控件、播放器和管理器,所述播放器封装有所述flash控件并包含解析器,所述管理器管理播放器,所述flash控件播放动画并运行其中的AS代码,所述播放器向AS代码传递格式化的操作命令代码并接收AS代码向外部传递接口调用代码,所述播放器解析所述接口调用代码得到能够访问计算机本地资源的应用程序接口及其函数的运行参数。
2、如权利要求1所述的flash处理装置,其特征在于,所述应用程序接口包括预定义接口和自定义接口。
3、如权利要求2所述的flash处理装置,其特征在于,所述预定义接口包括窗体操作接口、外部事件通知接口、互调接口、文件操作接口以及通信接口。
4、如权利要求2所述的flash处理装置,其特征在于,所述自定义接口通过在播放器中注册自定义的应用程序接口来实现自定义功能。
5、一种flash处理方法,其特征在于,包括如下步骤:
读取flash文件进行播放并运行AS代码;
向AS代码传递格式化的操作命令代码;
AS代码向外部传递接口调用代码;
解析接口调用代码得到应用程序接口及其函数的运行参数;
运行所述应用程序接口的函数;
返回所述应用程序接口的函数的运行结果。
6、如权利要求5所述的flash处理方法,其特征在于,所述操作命令代码、接口调用代码以及运行结果均为xml代码。
7、如权利要求5所述的flash处理方法,其特征在于,所述应用程序接口包括预定义接口和自定义接口。
8、如权利要求7所述的flash处理方法,其特征在于,所述预定义接口包括窗体操作接口、外部事件通知接口、互调接口、文件操作接口以及通信接口。
9、如权利要求7所述的flash处理方法,其特征在于,所述自定义接口通过在播放器中注册自定义的应用程序接口来实现自定义功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910041681A CN101630248A (zh) | 2009-08-06 | 2009-08-06 | flash处理装置和处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910041681A CN101630248A (zh) | 2009-08-06 | 2009-08-06 | flash处理装置和处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101630248A true CN101630248A (zh) | 2010-01-20 |
Family
ID=41575367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910041681A Pending CN101630248A (zh) | 2009-08-06 | 2009-08-06 | flash处理装置和处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101630248A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102169432A (zh) * | 2010-02-25 | 2011-08-31 | 腾讯科技(深圳)有限公司 | 一种as语言接口函数及调用方法 |
CN103412797A (zh) * | 2013-08-27 | 2013-11-27 | 国家电网公司 | 一种电力运营监控中心大屏展示用控制系统 |
CN103761006A (zh) * | 2014-01-17 | 2014-04-30 | 桂林医学院 | 易于修改的医学数字标本三维演示系统 |
CN116700838A (zh) * | 2023-06-09 | 2023-09-05 | 广州万彩信息技术有限公司 | 一种as语言接口函数、音视频处理方法和系统 |
-
2009
- 2009-08-06 CN CN200910041681A patent/CN101630248A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102169432A (zh) * | 2010-02-25 | 2011-08-31 | 腾讯科技(深圳)有限公司 | 一种as语言接口函数及调用方法 |
CN102169432B (zh) * | 2010-02-25 | 2014-09-03 | 腾讯科技(深圳)有限公司 | 一种as语言接口函数及调用方法 |
CN103412797A (zh) * | 2013-08-27 | 2013-11-27 | 国家电网公司 | 一种电力运营监控中心大屏展示用控制系统 |
CN103412797B (zh) * | 2013-08-27 | 2016-05-18 | 国家电网公司 | 一种电力运营监控中心大屏展示用控制系统 |
CN103761006A (zh) * | 2014-01-17 | 2014-04-30 | 桂林医学院 | 易于修改的医学数字标本三维演示系统 |
CN116700838A (zh) * | 2023-06-09 | 2023-09-05 | 广州万彩信息技术有限公司 | 一种as语言接口函数、音视频处理方法和系统 |
CN116700838B (zh) * | 2023-06-09 | 2024-02-02 | 广州万彩信息技术有限公司 | 一种as语言接口函数、音视频处理方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102129364B (zh) | 应用程序中嵌入微件工具栏的方法和快速访问微件的方法 | |
CN102939579B (zh) | 绑定用户接口元素和粒度反映处理的方法和装置 | |
TWI444216B (zh) | 基於移動終端實現遊戲之方法和裝置 | |
Riggs | Programming Wireless Devices with the Java 2 Platform: Micro Edition | |
US7907966B1 (en) | System and method for cross-platform applications on a wireless phone | |
CN104794105B (zh) | 一种用于处理触摸事件的方法、系统、触摸敏感设备 | |
CN105930467B (zh) | 一种信息处理方法及电子设备 | |
CN102918523A (zh) | 在应用中指定用户接口元素呈现的映射参数的方法和装置 | |
CN104169898B (zh) | 用于使用JavaScript和HTML5在设备之间流式传输元数据的方法和设备 | |
WO2020063031A1 (zh) | 结构数据的处理方法、装置、存储介质及电子设备 | |
CN103907113A (zh) | 用于分布式脚本处理的方法和装置 | |
CN102907110A (zh) | 用于媒体回放装置的基于实时Flash的用户界面 | |
KR20150043333A (ko) | 선언형 템플릿을 사용하여 컨트롤을 스탬프 아웃하기 위한 사용자 인터페이스 컨트롤 프레임워크 | |
KR20140097657A (ko) | 증강현실 콘텐츠 생성 방법 및 이를 구현하는 휴대단말장치 | |
CN101627368A (zh) | 计算机图形再现 | |
CN101630248A (zh) | flash处理装置和处理方法 | |
CN102768624A (zh) | 一种基于Web标准构建终端操作系统的方法 | |
CN102662646A (zh) | 传感数据处理方法及计算节点 | |
CN103064667A (zh) | 一种基于JavaScript扩展控制硬件设备的方法 | |
CN101860734A (zh) | 一种ajax实现动态图像增量传输与显示的方法 | |
CN102693238A (zh) | Widget应用方法、系统及多媒体终端 | |
CN110354503B (zh) | 事件触发方法、装置以及终端 | |
CN102253831B (zh) | 嵌入式终端中浏览器中嵌入OpenGL ES的方法 | |
CN104866335A (zh) | 一种移动终端基于Egret Runtime运行游戏的方法及装置 | |
CN101778362A (zh) | 移动终端监控数据的方法、设备和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100120 |