《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于Lingo語言的數(shù)字媒體交互控制技術(shù)應(yīng)用研究
NI-LabVIEW 2025
基于Lingo語言的數(shù)字媒體交互控制技術(shù)應(yīng)用研究
來源:微型機(jī)與應(yīng)用2013年第5期
王繼水,朱 軒
(常州機(jī)電職業(yè)技術(shù)學(xué)院 信息工程系,江蘇 常州 213164)
摘要: 詳細(xì)分析了Lingo程序語言的交互機(jī)制和組成部分,在此基礎(chǔ)上設(shè)計(jì)了基于Lingo的數(shù)字媒體交互控制模型,并利用Lingo事件消息截取機(jī)制和程序處理技術(shù)實(shí)現(xiàn)對數(shù)字媒體對象的交互控制。
Abstract:
Key words :

摘  要: 詳細(xì)分析了Lingo程序語言的交互機(jī)制和組成部分,在此基礎(chǔ)上設(shè)計(jì)了基于Lingo的數(shù)字媒體交互控制模型,并利用Lingo事件消息截取機(jī)制和程序處理技術(shù)實(shí)現(xiàn)對數(shù)字媒體對象的交互控制。
關(guān)鍵詞: Lingo;交互控制模型;事件;處理程序

 在21世紀(jì)的信息化時代里,數(shù)字媒體技術(shù)所提供的“你見即我見”的交互手段,使得信息的交流與溝通遠(yuǎn)勝于前。隨著網(wǎng)絡(luò)技術(shù)、計(jì)算機(jī)技術(shù)的飛速發(fā)展,如何更好的控制數(shù)字媒體的交互成為產(chǎn)業(yè)界和學(xué)術(shù)界越來越關(guān)注的課題。Lingo程序語言、網(wǎng)絡(luò)通信技術(shù)為實(shí)現(xiàn)數(shù)字媒體的交互控制提供了強(qiáng)大的技術(shù)基礎(chǔ)。
本文將介紹Lingo語言的交互機(jī)制,并詳細(xì)闡述Lingo程序語言支持下的數(shù)字媒體交互控制模型的設(shè)計(jì)和運(yùn)行,進(jìn)而實(shí)現(xiàn)用戶與數(shù)字媒體產(chǎn)品進(jìn)行交互控制的功能。
1 Lingo的交互機(jī)制概述
1.1 Lingo的兩種交互機(jī)制

 Lingo是一種面向?qū)ο蟮木幊陶Z言,是通過給計(jì)算機(jī)發(fā)命令、提問題而與計(jì)算機(jī)對話的一種方法[1]。它的主要目的是創(chuàng)建一個基于用戶體驗(yàn)的交互式數(shù)字媒體系統(tǒng),以媒體對象(如圖片、聲音、動畫和視頻等)為基礎(chǔ),并通過與這些對象的互動提供實(shí)時創(chuàng)新的展示方式。
 借助Lingo語言幾乎可以實(shí)現(xiàn)所有媒體對象的交互式操作,交互機(jī)制和媒體對象展示場景綜合在一起,通過用戶事件處理程序和目標(biāo)媒體對象的方式實(shí)現(xiàn)。這種交互主要分為兩類:客戶端交互和服務(wù)器端交互。
客戶端交互主要實(shí)現(xiàn)的是用戶對媒體元素實(shí)現(xiàn)操縱。Lingo程序通過感知用戶的具體操作觸發(fā)相應(yīng)的系統(tǒng)消息,系統(tǒng)消息被事件截獲后執(zhí)行用于對媒體對象的狀態(tài)(如對象的位置、對象的形狀以及對象的內(nèi)容等)改變的處理程序。一個事件可以是鼠標(biāo)單擊或鍵盤命令,所有這些觸發(fā)事件的操作都是在客戶端完成。
服務(wù)器端交互是通過用戶在客戶端操作觸發(fā)某個消息后,服務(wù)器端對該操作所發(fā)出的系統(tǒng)消息進(jìn)行接收從而觸發(fā)對應(yīng)的事件,只有當(dāng)系統(tǒng)消息被某個事件截獲并接收后才能執(zhí)行相應(yīng)的處理程序?qū)崿F(xiàn)與用戶的交互,因此,它需要建立一個上傳基本流通道來實(shí)現(xiàn)。
1.2 Lingo的事件處理程序
 為了使數(shù)字媒體產(chǎn)品中的交互控制更加容易,Lingo提供了對用戶和媒體對象交互支持,交互機(jī)制被集成到了事件處理程序中,利用系統(tǒng)消息對事件(在特定的條件下觸發(fā)事件節(jié)點(diǎn))進(jìn)行觸發(fā)。在Lingo中幾乎所有的動作都會導(dǎo)致事件的發(fā)生,所以用戶的任何操作都可以實(shí)現(xiàn)對事件的控制[2]。
 當(dāng)事件被觸發(fā)后開始執(zhí)行事件中的處理程序。處理程序?qū)嶋H上由用于執(zhí)行不同任務(wù)的一行或多行Lingo命令組成,Lingo命令中包含實(shí)現(xiàn)交互操作的各種函數(shù)、屬性和變量,這些參數(shù)將跟隨用戶的操作而實(shí)時地改變著交互的媒體對象,Lingo程序幾乎提供了所有媒體對象的操作函數(shù),當(dāng)用戶對某個對象進(jìn)行操作時,處理程序只需要執(zhí)行該媒體對象所支持的Lingo命令即可實(shí)現(xiàn)與用戶的交互。
 因此利用Lingo實(shí)現(xiàn)交互的基本思路和模型是在客戶端先下載一個用戶操作接口,系統(tǒng)根據(jù)客戶端用戶的操作觸發(fā)系統(tǒng)消息,并將其返回到服務(wù)器端,服務(wù)器端的事件對客戶端發(fā)出的系統(tǒng)消息進(jìn)行審核并截獲后觸發(fā)處理程序,開始執(zhí)行相應(yīng)的Lingo命令,處理程序執(zhí)行后將對媒體對象的狀態(tài)進(jìn)行重新組合,最終返回給客戶端的用戶界面上,這樣就可以實(shí)現(xiàn)媒體對象跟隨用戶操作不斷發(fā)生變化的效果。
2 基于Lingo的數(shù)字媒體交互控制模型的設(shè)計(jì)
 根據(jù)Lingo實(shí)現(xiàn)交互的運(yùn)行機(jī)制,基于Lingo的數(shù)字媒體交互控制模型的系統(tǒng)設(shè)計(jì)框架圖如圖1所示。主要包括信息交互模塊、主控服務(wù)器模塊和顯示控制模塊三個部分。

 信息交互模塊部署在交互控制終端上,負(fù)責(zé)完成人機(jī)信息交互功能,它接收客戶端用戶的操作請求,并及時將這些請求信息收集并發(fā)送給主控服務(wù)器模塊;按照主控服務(wù)器模塊的命令調(diào)用其他組件執(zhí)行遠(yuǎn)程功能,將執(zhí)行結(jié)果返回給主控服務(wù)器模塊進(jìn)行分析處理。
 主控服務(wù)模塊主要負(fù)責(zé)執(zhí)行系統(tǒng)的控制管理功能和交互操作的組織協(xié)調(diào)功能,并自始自終保持和其他模塊的通信。它對信息交互模塊中發(fā)送過來的消息進(jìn)行分析處理,判定觸發(fā)的Lingo事件和執(zhí)行處理程序,將程序的執(zhí)行效果轉(zhuǎn)發(fā)給顯示終端。
 顯示控制模塊主要用于對各種媒體對象進(jìn)行顯示和播放控制,部署在顯示終端上。它響應(yīng)主控服務(wù)器的各種Lingo控制命令,完成對媒體對象的顯示控制,切換顯示設(shè)備上的媒體顯示內(nèi)容,并配合交互控制終端上的信息交互模塊對媒體文件的播放進(jìn)行控制,使得不論是普通媒體還是交互媒體都能流暢播放。
3 關(guān)鍵技術(shù)實(shí)現(xiàn)
 在Lingo控制下的數(shù)字媒體交互控制模型中,用戶與媒體對象之間的通信關(guān)鍵是由主控服務(wù)模塊來進(jìn)行控制的,通過在主服務(wù)器中Lingo事件監(jiān)聽端口接收信息交互模塊中的用戶的控制消息,并執(zhí)行Lingo處理程序控制顯示模塊中的媒體對象,從而完成整個交互體驗(yàn)流程,如圖2所示。

 

 

3.2 Lingo處理程序?qū)γ襟w對象的調(diào)用和控制
 當(dāng)事件截獲系統(tǒng)消息后,就會執(zhí)行事件中相應(yīng)處理程序達(dá)到對媒體對象的控制。在Lingo中處理程序在事件調(diào)用的后面,以關(guān)鍵字end結(jié)尾。
on mouseup me
        statement(s)--Lingo處理程序
end
 Lingo處理程序由一個或者多個Lingo命令組成,媒體對象根據(jù)命令的控制改變自身的組織形式。在Lingo命令中主要通過sprite關(guān)鍵字調(diào)用媒體對象,并通過更改sprite的屬性實(shí)現(xiàn)對媒體對象的控制,例如下面用于實(shí)現(xiàn)媒體對象跟隨鼠標(biāo)運(yùn)動的效果:
on mouseDown me
        sprite(1).LocH=the mouseH
        sprite(1).LocV=the mouseV
end
 當(dāng)用戶按下鼠標(biāo)后,信息交互模塊發(fā)送出的按下鼠標(biāo)系統(tǒng)消息將會被主控服務(wù)模塊中的mouseDown事件接收,進(jìn)而執(zhí)行事件所包含的處理程序,處理程序中的sprite關(guān)鍵字調(diào)用了處于精靈通道1中的媒體對象,并更改媒體對象的LocH和LocV屬性值為鼠標(biāo)的坐標(biāo)點(diǎn)位置,這樣當(dāng)鼠標(biāo)按下時在顯示控制模塊就會出現(xiàn)媒體對象,就實(shí)現(xiàn)了跟隨用戶鼠標(biāo)進(jìn)行移動的效果。Lingo程序中sprite關(guān)鍵字所包含的屬性還有很多,只要更改其所對應(yīng)的屬性值就可以實(shí)現(xiàn)用戶對媒體對象的控制。
 本文針對Lingo語言主要探討了它的交互機(jī)制和關(guān)鍵技術(shù),用戶可以通過自由組合Lingo事件和處理程序?qū)崿F(xiàn)所需要完成的各種交互效果,Lingo語言作為控制媒體對象的重要技術(shù)將在數(shù)字媒體交互行為領(lǐng)域中發(fā)揮越來越多的作用。
參考文獻(xiàn)
[1] 張豪,何方.Director交互式多媒體開發(fā)從新手到高手[M].北京:清華大學(xué)出版社,2007.
[2] 張勝利,耿哲嶠.Director MX 2004實(shí)用培訓(xùn)教程[M].北京:清華大學(xué)出版社,2005.
[3] 呂悅寧,譚坤.多媒體產(chǎn)品藝術(shù)設(shè)計(jì)[M].北京:高等教育出版社,2010.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。