基于Lingo语言的数字媒体交互控制技术应用研究*

2013-02-21 07:52王继水
网络安全与数据管理 2013年5期
关键词:处理程序消息客户端

王继水,朱 轩

(常州机电职业技术学院 信息工程系,江苏 常州 213164)

在21世纪的信息化时代里,数字媒体技术所提供的“你见即我见”的交互手段,使得信息的交流与沟通远胜于前。随着网络技术、计算机技术的飞速发展,如何更好的控制数字媒体的交互成为产业界和学术界越来越关注的课题。Lingo程序语言、网络通信技术为实现数字媒体的交互控制提供了强大的技术基础。

本文将介绍Lingo语言的交互机制,并详细阐述Lingo程序语言支持下的数字媒体交互控制模型的设计和运行,进而实现用户与数字媒体产品进行交互控制的功能。

1 Lingo的交互机制概述

1.1 Lingo的两种交互机制

Lingo是一种面向对象的编程语言,是通过给计算机发命令、提问题而与计算机对话的一种方法[1]。它的主要目的是创建一个基于用户体验的交互式数字媒体系统,以媒体对象(如图片、声音、动画和视频等)为基础,并通过与这些对象的互动提供实时创新的展示方式。

借助Lingo语言几乎可以实现所有媒体对象的交互式操作,交互机制和媒体对象展示场景综合在一起,通过用户事件处理程序和目标媒体对象的方式实现。这种交互主要分为两类:客户端交互和服务器端交互。

客户端交互主要实现的是用户对媒体元素实现操纵。Lingo程序通过感知用户的具体操作触发相应的系统消息,系统消息被事件截获后执行用于对媒体对象的状态(如对象的位置、对象的形状以及对象的内容等)改变的处理程序。一个事件可以是鼠标单击或键盘命令,所有这些触发事件的操作都是在客户端完成。

服务器端交互是通过用户在客户端操作触发某个消息后,服务器端对该操作所发出的系统消息进行接收从而触发对应的事件,只有当系统消息被某个事件截获并接收后才能执行相应的处理程序实现与用户的交互,因此,它需要建立一个上传基本流通道来实现。

1.2 Lingo的事件处理程序

为了使数字媒体产品中的交互控制更加容易,Lingo提供了对用户和媒体对象交互支持,交互机制被集成到了事件处理程序中,利用系统消息对事件(在特定的条件下触发事件节点)进行触发。在Lingo中几乎所有的动作都会导致事件的发生,所以用户的任何操作都可以实现对事件的控制[2]。

当事件被触发后开始执行事件中的处理程序。处理程序实际上由用于执行不同任务的一行或多行Lingo命令组成,Lingo命令中包含实现交互操作的各种函数、属性和变量,这些参数将跟随用户的操作而实时地改变着交互的媒体对象,Lingo程序几乎提供了所有媒体对象的操作函数,当用户对某个对象进行操作时,处理程序只需要执行该媒体对象所支持的Lingo命令即可实现与用户的交互。

因此利用Lingo实现交互的基本思路和模型是在客户端先下载一个用户操作接口,系统根据客户端用户的操作触发系统消息,并将其返回到服务器端,服务器端的事件对客户端发出的系统消息进行审核并截获后触发处理程序,开始执行相应的Lingo命令,处理程序执行后将对媒体对象的状态进行重新组合,最终返回给客户端的用户界面上,这样就可以实现媒体对象跟随用户操作不断发生变化的效果。

2 基于Lingo的数字媒体交互控制模型的设计

根据Lingo实现交互的运行机制,基于Lingo的数字媒体交互控制模型的系统设计框架图如图1所示。主要包括信息交互模块、主控服务器模块和显示控制模块三个部分。

图1 基于Lingo的数字媒体交互控制模型系统设计框架图

信息交互模块部署在交互控制终端上,负责完成人机信息交互功能,它接收客户端用户的操作请求,并及时将这些请求信息收集并发送给主控服务器模块;按照主控服务器模块的命令调用其他组件执行远程功能,将执行结果返回给主控服务器模块进行分析处理。

主控服务模块主要负责执行系统的控制管理功能和交互操作的组织协调功能,并自始自终保持和其他模块的通信。它对信息交互模块中发送过来的消息进行分析处理,判定触发的Lingo事件和执行处理程序,将程序的执行效果转发给显示终端。

显示控制模块主要用于对各种媒体对象进行显示和播放控制,部署在显示终端上。它响应主控服务器的各种Lingo控制命令,完成对媒体对象的显示控制,切换显示设备上的媒体显示内容,并配合交互控制终端上的信息交互模块对媒体文件的播放进行控制,使得不论是普通媒体还是交互媒体都能流畅播放。

3 关键技术实现

在Lingo控制下的数字媒体交互控制模型中,用户与媒体对象之间的通信关键是由主控服务模块来进行控制的,通过在主服务器中Lingo事件监听端口接收信息交互模块中的用户的控制消息,并执行Lingo处理程序控制显示模块中的媒体对象,从而完成整个交互体验流程,如图2所示。

图2 Lingo控制下数字媒体交互控制模型实现流程图

3.1 Lingo事件对系统消息的截获和执行

主控服务模块从信息交互模块中接收到系统消息后,由于系统消息是一段字符串变量,无法起到控制媒体的作用,需要通过Lingo创建事件来侦听消息的变化,当系统消息被事件截获后,则事件将根据系统消息所传递的字符串变量执行相应的处理程序,对媒体文件进行相应的重新组合。

在Lingo中事件的实现,其关键代码为[3]:

其中mouseup为具体的事件函数,它处于关键字on的后面,其他主要的事件函数如表1所示,不同的事件函数将会截获用户不同的交互消息。

表1 事件的主要函数

3.2 Lingo处理程序对媒体对象的调用和控制

当事件截获系统消息后,就会执行事件中相应处理程序达到对媒体对象的控制。在Lingo中处理程序在事件调用的后面,以关键字end结尾。

Lingo处理程序由一个或者多个Lingo命令组成,媒体对象根据命令的控制改变自身的组织形式。在Lingo命令中主要通过sprite关键字调用媒体对象,并通过更改sprite的属性实现对媒体对象的控制,例如下面用于实现媒体对象跟随鼠标运动的效果:

当用户按下鼠标后,信息交互模块发送出的按下鼠标系统消息将会被主控服务模块中的mouseDown事件接收,进而执行事件所包含的处理程序,处理程序中的sprite关键字调用了处于精灵通道1中的媒体对象,并更改媒体对象的LocH和LocV属性值为鼠标的坐标点位置,这样当鼠标按下时在显示控制模块就会出现媒体对象,就实现了跟随用户鼠标进行移动的效果。Lingo程序中sprite关键字所包含的属性还有很多,只要更改其所对应的属性值就可以实现用户对媒体对象的控制。

本文针对Lingo语言主要探讨了它的交互机制和关键技术,用户可以通过自由组合Lingo事件和处理程序实现所需要完成的各种交互效果,Lingo语言作为控制媒体对象的重要技术将在数字媒体交互行为领域中发挥越来越多的作用。

[1]张豪,何方.Director交互式多媒体开发从新手到高手[M].北京:清华大学出版社,2007.

[2]张胜利,耿哲峤.Director MX 2004实用培训教程[M].北京:清华大学出版社,2005.

[3]吕悦宁,谭坤.多媒体产品艺术设计[M].北京:高等教育出版社,2010.

猜你喜欢
处理程序消息客户端
高速公路工程变更与计量支付处理程序的优化方法
一张图看5G消息
如何看待传统媒体新闻客户端的“断舍离”?
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
基于C++的数控加工通用后处理程序的开发应用研究
企业危机公关管理问题分析
处理房地产纠纷中行政与民事交叉问题的正当程序
消息