您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > Director教程
MPG视频文件的控制与路径设置MPG视频文件DirectMediaXtra是一个非常强大的第三方插件,它支持MPEG、AVI、WAV、QuickTime、AIF、MP2和MIDI文件,并且提供了对AVI、MPG等视频文件的完全支持和控制,能够极大的扩展Director对视频文件的控制能力,在众多插件中使用频率几乎是最高的。1.获取DirectMediaXtra演员成员和精灵的属性DirectMediaXtra插件是一种可视化操作的插件,它能在Director的演员表中生成一个演员成员,在需要播放视频的地方只需在舞台或精灵通道内创建由该演员成员生成的精灵即可。DirectMediaXtra插件可获取由它导入和创建的视频演员成员和精灵的各种各种属性。视频演员成员的属性主要包括文件路径、文件名、文件长度、宽度、高度、音量、平衡度、播放速率等与媒体文件本身相关的属性,而精灵则包括当前播放的视频的时间、速度和播放的状态等属性。File属性用于获取链接的外部视频文件的完整路径名,例如:putmember(video).file--D:\video.MPGtitle属性用于获取链接的外部视频文件的文件名,不含路径名称,例如:putmember(video).title--video.MPGDuration和CurrentTime属性分别用于获取链接的外部视频文件的时间长度和精灵通道内播放的视频文件的当前时间,单位是毫秒,例如:totalTime=member(video).durationcurTime=sprite(1).CurrentTimeToolTip=当前播放进度:&curTime*1.0000/totalTime*100&%putToolTip--当前播放进度:12.6789%videoWidth和videoHeight属性用于获取链接的外部视频文件的宽度和高度,单位是像素,例如:putmember(video).videoWidthputmember(video).videoheight--352--240Volume属性获取链接的外部视频、音频文件的音量,单位为分贝,范围在-100至0之间,例如:putmember(video).Volume--0Balance属性用于获取链接的外部视频、音频文件的平衡度,单位为分贝,范围在-100到100之间,例如:putmember(video).Balance--0Rate属性用来获取外部链接的视频文件的播放速度,为一个百分比,范围在0至200之间,默认值为100。例如:putmember(video).Rate--100loop属性获取外部链接的视频文件播放时是否循环播放的设置情况,例如:putmember(video).loop--0ShowLocationFileDialog属性用于获取如果没有找到链接的外部视频文件的时候是否显示一个定位对话框的设置情况。HasToolbar用于获取DirectMediaXtra精灵播放时是否显示自带的控制工具栏的设置情况。例如:putmember(video).ShowLocateFileDialogputmember(video).HasToolbar--1--12.线索点Director中的线索点(cuepoint)是指音频或数字视频文件中能被Lingo识别和控制的标记。DirectMediaXtra能够为一个视频创建最多64个线索点,线索点以毫秒为单位按照时间顺序排列。在DirectMediaXtra属性设置对话框中拖曳电影预览进度条上的浮标至需要添加线索点的位置或正常预览过程中在合适的位置单击暂停按钮,然后选择“Add”按钮,在弹出的新的线索点对话框中输入线索点名称,线索点名称不能超过32个字节,单击“OK”按钮,就为视频创建了一个线索点,如图7-xx所示。图7-xx创建线索点选中CuePoints列表栏内的某个线索点,单击“Remove”按钮就能删除该节点,单击“Goto”按钮则预览窗口中的电影就跳转到相应的节点。DirectMediaXtra提供了一些获取并控制这些线索点的命令。CuePointName和CuePointTime命令分别用来获取一个DirectMediaXtra演员成员的所有线索点名称和时间,例如:putmember(video).CuePointTimesputmember(video).CuePointNames--[0,12141,24317,64424,162299,192000,404500]--[start,main,ch01,ch02,ch03,ch04,end]AddCuePoint和RemoveCuePoint命令分别用来动态添加和删除DirectMediaXtra演员成员的一个线索点,例如:member(video).addCuePoint(5000,cuename)--5000和cuename分别为线索点的时间和名称putmember(video).CuePointNames--[start,cuename,main,ch01,ch02,ch03,ch04,end]member(video).removeCuePoint(5)--5为线索点的序列putmember(video).CuePointNames--[start,cuename,main,ch01,ch03,ch04,end]IsPastCuePoint命令用来判断指定的线索点是否已经开始播放,如果已经播放则返回TRUE,反之为FALSE。IsPastCuePoint命令对于实现动态音频或视频与图文的同步是非常有用的,例如,以下的代码就是实现声音或视频与图文同步的一个行为:propertyspriteNumberpropertycueIndexongetPropertydescriptionListmeactionList=[:]actionList[#spriteNumber]=[#comment:DirectMediaXtra精灵所在的通道数:,#default:1,#format:#integer]actionList[#cueIndex]=[#comment:当前线索点序列:,#default:1,#format:#integer]returnactionListendonexitframemeifsprite(spriteNumber).IsPastCuePoint(cueIndex)thengotheframe+1elsegotheframeendifend3.控制DirectMediaXtra精灵的播放控制DirectMediaXtra精灵的播放主要包括控制音量、播放、暂停和播放片断或从指定的位置播放等操作。◆控制音量对DirectMediaXtra精灵音量的控制主要通过getVolume()命令获取它的音量,并通过SetVolume()命令设置它的音量。例如:--获取编号为1的精灵通道中播放的DirectMediaXtra精灵的音量putsprite(1).getVolume()--0--设置编号为1的精灵通道中播放的DirectMediaXtra精灵的声音值为-100sprite(1).setVolume(-100)这两个命令通常用来制作视频播放器的音量控制条。有兴趣的朋友可以参照之前介绍的Flash播放器实例中音量控制条的制作方法实践一下。getVolume()和SetVolume()命令的取值范围在-100至0之间,在制作DirectMediaXtra精灵音量控制条时,一定要注意这一点。◆控制播放VideoPlay()命令用于播放精灵通道中的DirectMediaXtra精灵,例如:onVideo_playsprite(spriteNumber).VideoPlay()endVideoPause()命令用于暂停精灵通道中播放的DirectMediaXtra精灵,例如:onVideo_pausesprite(spriteNumber).VideoPause()endVideoSeek()命令用于使精灵通道中的DirectMediaXtra精灵从指定的时间点开始播放,例如:onVideo_resumesprite(spriteNumber).VideoSeek(resumeTime)endVideoPlaySegment()命令用于播放指定的开始、结束时间点之间的片断,例如:onVideo_playsegmentsprite(spriteNumber).VideoPlaySegment(startT,endT)end4、视频路径搜索使用DirectMediaXtra插件的时候,在发布电影前必须先单击主菜单栏Edit|Preferences|General命令,在弹出的常用设置对话框中,勾选Stage栏的“AnimateinBackground”选项。不然,程序运行时将不会播放影片,而是停止在一帧上面。另外一个容易出现的问题是当音频、视频文件与运行程序不在同一目录下时,会发生找不到媒体文件的情况,可以通过在与主程序同目录中创建一个Lingo.ini的文件来解决这一问题。Lingo.ini文件中可以输入以下内容:onstartUpthesoundkeepdevice=falseglobaltbsearchpathtbsearchpath=[]append(tbsearchpath,theapplicationPath&“media\”append(thesearchpaths,theapplicationPath&“media”)endstartUp有了这个文件,当Director程序运行中找不到媒体文件时,就会按照文件中指定的路径去搜索媒体文件。如何实现控制视频的播放、停止、暂停、快进、快退等在director中插入视频并实现对其控制的方法有多种。首先说下几种常见格式视频的插入方法:1、wmv和avi格式,这2种格式的视频使用windowsmedia的控件就可以支持,关于windowsmedia的属性很简单在这里就不多说暂停:onmouseUpsprite(1).pause()end播放:onmouseUpsprite(1).play()end停止:onmouseUpsprite(1).stop()end2、MPEG1、MPEG2、QuickTime等格式,在很多情况下要实现更多的功能director本身是远远不够的,这就要借助第三方插件,常用的为DirectMediaXtra插件,DirectMediaXtra是一个非常强大的第三方插件,它支持MPEG、AVI、WAV、QuickTime、AIF、MP2和MIDI文件,并且提供了对AVI、MPG等视频文件的完全支持和控制,能够极大的扩展Director对视频文件的控制能力,在众多插件中使用频率几乎是最高的。下面说一下DirectMediaXtra插件的用法:DirectMediaXtra插件,在Director中以一个演员成员形式存在,在需要播放视频的地方只需在舞台或精灵通道内创建由该演员成员生成的精灵即可。DirectMediaXtra插件可获取由它导入和创建的视频演员成员和精灵的各种各种属性。下面是DirectMediaXtra里边的一些语句:判断mpg是或播放完毕onexitFramemeif(thedurationofthememberofsprite1)(themovietimeofsprite1)thengotheframeelsethestagecolor=thestagecolorgotohahaendifend全屏:globalfullsonmouseUpiffulls=0thensetfullscreensprite(1)fulls=1elseRemoveFullScreensprite(1)fulls=0endifend暂停:onmouseUpsprite(1).videopause()end播放:onmouseUpsprite
本文标题:Director教程
链接地址:https://www.777doc.com/doc-2870428 .html