Director11.5制作基于lingo语言的嵌入式音频播放器

时间:2022-05-11 08:18:44

Director11.5制作基于lingo语言的嵌入式音频播放器

摘要:Director11.5中音频的播放一般不能直接控制,不能满足用户的多种需要。本文通过对Director11.5中音频播放的深入分析和研究,运用lingo语句进行脚本编写,制作了嵌入式音频播放器,实现了多媒体作品内部直接自主控制音频播放,实现音频播放的多种效果,具有较强的参考价值和启发性。

关键词:Director;lingo;音频播放

中图分类号:TP309 文献标识码:A 文章编号:1007-9599 (2011) 21-0000-02

Director11.5 Production Based on lingo Language of Embedded Audio Player

Lu Shijiao

(Shijiazhuang Mechanized Infantry Academy,Shijiazhuang 050083,China)

Abstract:In Director11.5,the play of audio can not directly be controled normally,Thus can not satisfy the various needs of user.This paper gives thorough analysis and research on audio play in Director11.5,writes script program with lingo language,makes the embedded audio player,and realizes autonomous control of the audio play in multi-media works directly.At the same time,the user can realize various effect of audio play.The paper has good reference value and inspiration.

Keywords:Director;Lingo;Audio play

一、引言

随着多媒体技术的飞速发展,多媒体作品的应用越来越广泛,作用也越来越重要。Director11.5即是一款优秀的多媒体开发软件,且自带lingo语句,可以根据用户的需求制作复杂多样功能强大的多媒体作品。Director11.5的媒体元素主要包括文本、图形、图像、动画、音频和视频等,其中文本、图形、图像和动画可以直接在Director11.5中进行各种设置,但音频和视频的播放一般不能直接控制。因此如果需要在多媒体作品中自主控制音视频的播放,需要利用Director的lingo语句编写脚本实现相关功能。本文主要研究如何在Director11.5中制作基于lingo语句的嵌入式音频播放器,以满足多媒体作品中自主控制音频播放的要求,同时还可以使音频具有多种播放效果,使多媒体作品更加精彩[1]。

二、嵌入式音频播放器功能及界面的设计

(一)功能设计。嵌入式音频播放器主要设置在多媒体作品的页面中,根据用户的需要对音频进行各种播放控制。其功能一般包括:(1)播放功能,用于音频从起始位置的播放;(2)暂停功能,用于暂停音频的播放;(3)继续播放功能,用于音频暂停播放后,从暂停播放的位置继续播放。(4)停止功能,用于音频停止播放;(5)快退功能,用于播放上一首音频;(6)快进功能,用于播放下一首音频;(7)滑动杆控制播放功能,用于通过鼠标在滑动杆上拖移滑块,控制音频播放的进度,用户可以随意将音频调整到需要的位置进行播放;(8)音量控制功能,用于鼠标在音量滑动杆上拖移滑块,控制音频音量的大小。

(二)界面设计。根据功能设计,确定音频播放器的界面。其中播放功能主要通过鼠标单击音频播放清单中的音频标签实现,继续播放、暂停、停止、快退、快进五项功能通过按钮单击的形式实现,播放进度控制和音量控制通过滑块在滑杆上移动进行控制。因此,音频播放器的界面主要包括音频播放清单,继续播放、暂停、停止、快退、快进五个按钮,及两组不同的滑块与滑杆的组合,同时可根据多媒体作品的需要,在界面中对音频播放的内容进行灵活设置。设音频清单中需要播放的音频为音频一至音频五,则音频播放界面主要内容可设定如下图所示:

三、嵌入式音频播放器功能的实现

嵌入式音频播放器主要功能的实现如下:

(一)播放功能。将需要播放的音频文件音频一至音频五导入演员表,分别为第一个演员至第五个演员,同时在音频清单中设置相应的音频标签。以音频一标签为例,添加代码如下:

on mousedown

if soundbusy(1) then

puppetsound 1,0

puppetsound 1,"音频一"

else puppetsound 1," 音频一"

end if end

(二)继续播放功能。在继续播放按钮上添加代码如下:

on mouseup me

if not soundbusy(1) then

sound(1).play()

end if end

(三)暂停功能。暂停功能比较简单,主要应用语句sound(1).pause()实现。(四)停止功能。停止功能比较简单,主要应用sound(1).stop()实现。(五)快进与快退功能。在快进按钮上添加代码如下,注意音频演员在演员表中的位置:

Property n

on mouseUp me

n=sound(1).member.membernum

if n

n=n+1

sound(1).play([#member:member(n)])

end if end

快退功能的实现与快进类似,主要注意n的取值递减即可,在此不再赘述。

(六)滑动杆控制播放功能。设滑动杆精灵名为“滑动杆”,在滑块上添加脚本代码如下:

Property pActive,pBar,pKnob,pKnoblocv,pKnobMinLoch,pKnobMaxLoch,pOffsetLoc, pDragging

On beginsprite me

pKnob=sprite(me.spriteNum)

pBar=sprite("滑动杆")

pKnobMinLoch= pBar.rect.left

pKnobMaxLoch= pBar.rect.right-1

pKnoblocv= pBar.locv+4

initialMe(me)

end

on initialMe(me)

pDragging=false

pActive=false

pKnob.locv=pKnoblocv

pKnob.loch=pKnobMinLoch

_movie.updatestage()

end

on mousedown me

if sound(1).isbusy() then

pOffsetLoc=_mouse.clickloc - pKnob.loc

pDragging=true

pActive=true

_movie.updatestage()

end if end

on mouseup me

if pActive=true then

pDragging=false

changeAudioTime()

pAvtive=false

end if end

on prepareframe me

changeLoch(me)

end

on changeLoch me

if sound(1).isbusy() then

if (pDragging = false) then

curRate = sound(1).currenttime*1.0/sound(1).member.duration

if curRate >= 0.999 then

sound(1).stop()

initialMe(me) else

pKnob.loch=curRate*(pKnobMaxLoch-pKnobMinLoch)+pKnobMinLoch

end if end if

if (pDragging=true) and (the mousedown) then

newLoch = (_mouse.mouseloc - pOffsetLoc).loch

if newLoch>pKnobMaxLoch then

newLoch= pKnobMaxLoch

end if

if newLoch

newLoch= pKnobMinLoch

end if

pKnob.loch=newLoch

end if else

initialMe(me)

end if

_movie.updatestage()

end

on changeAudioTime me

sound(1).pause()

curRate=(pKnob.loch-pKnobMinLoch)*1.0/(pKnobMaxLoch - pKnobMinLoch)

if curRate < 0.999 then

curTime = curRate * sound(1).member.duration

sound(1).play([#member:sound(1).member,#starttime:curTime]) else

sound(1).play()

end if

_movie.updatestage()

end

上述代码实现的功能是通过鼠标在滑动杆上拖移滑块,控制当前音频的播放进度[2]。

(七)音量控制功能。音量控制功能可以直接借助Director中的行为库实现。具体步骤为:打开库面板的声音选项组,在其中选择“声音通道音量滑块”,再将其拖放到舞台音频播放界面的声音滑块上,这时会弹出一个参数设置窗口,进行相应设置即可实现音量控制。

四、结束语

本文主要通过Director11.5中lingo语句的脚本编写,制作了嵌入式音频播放器,用以自主控制多媒体作品的音频播放。嵌入式音频播放器可以根据用户的需要进行灵活设置,实现丰富生动的功能。此外,还可以在Director11.5中引入多媒体数据库系统,对音频进行各种调用,以进一步拓展音频播放器的功能,满足多媒体作品的多种需要。

参考文献:

[1]徐超,徐小荣.Director11完全自学教程[M].北京:机械工业出版社,2009

[2]郑建峰.经典百例DirectorMX2004[M].北京:北京中电电子出版社,2005

[作者简介]卢诗骄(1978.7-),女,湖南沅陵人,讲师,硕士,主要研究方向为计算机。

上一篇:浅谈中职综合布线发展趋势 下一篇:网络通信中信息安全风险分析与防范技术的应用