主题:  请教各位高手这个问题!!谢谢

268

职务:普通成员
等级:1
金币:0.0
发贴:124
#12004/4/13 17:30:36
请教各位高手这个问题,
怎么使用 DIRECTMedia Xxtra 啊,
我已经注册了,但不知道具体的使用方法,
请各位高手给小生指点一二,
在这里我先谢过了!!! :



段氏

职务:普通成员
等级:1
金币:1.0
发贴:196
#22004/4/13 19:39:34
DirectMedia Xtra 在 Director 中的应用技巧
  Director对媒体的支持不如Authorware好,不过非常庆幸的是有很多极酷的 Xtras 外部插件可以完美地解决这一问题。  其中最具代表性的恐怕就是DirectMedia了。 它可以在不安装任何其它支持软件的情况下直接播放AVI、MOV、Mpeg及多种音乐 文件,效果一流。  但在使用此插件的时候有两个问题必须注意,否则可能会...... 第一: 应确保应在File菜单的Preferences->General中勾选Animate in Back ground,否则运行程序时将不会播放影片,而是停在一帧上止。 第二:Director 7.02存在一个路径搜索方面的Bug,如果媒体文件和运行程序不在 同一目录下的时候,就会发生找不到文件的情况,必须在主程序的相同目录中包含一个名为Lingo.ini的文件,内容如下: on startup -- 添加文件搜索路径,添加在主程序目录下的"media"目录 -- 的方法如下:   global tbsearchpath   set tbsearchpath=[]   append(tbsearchpath, the applicationPath & "media\" end startup 只要加上这个文件就没问题啦!尽情体验DirectMedia的强大功能吧!
完美的媒体控制 ---- DirectMedia Xtra介绍
一、简介
  DirectMedia Xtra是一款非常精彩的外挂插件,用来在Authorware中对媒体文件进行全面的控制。它
所支持的媒体文件类型有:Mpeg, AVI, Quicktime, WAV, AIF, MP3和MIDI,并且可以控制文件播放、暂
停、播放的速度、音量,以及播放片断等等。
  通常情况下,Authorware引用媒体是采用MCI和Video for Windows接口,播放质量和功能都十分有限
。而DirectMedia Xtra则采用了目前十分流行的DirectShow技术,不仅使播放效果更加完美,而且也让交
互控制轻松自如,甚至还可以同时播放两个以上的媒体文件。
二、安装和使用
1、安装
  DirectMedia Xtra要求安装在Windows 9x /Windows NT4下,Pentium-120 MHz以上CPU,8M以上内
存,而且还要有带有DirectShow的ActiveMoive组件。
  我们以DirectMedia Xtra的1.4版本为例,整个程序只有一个文件----dmediax140.exe。运行这个文
件即开始安装过程。按照向导一步一步进行,如果你采用默认值,它将会在Program Files目录下建立一个
名为DirectMedia Xtra的子目录,用来存放说明文件、例子程序和所用到的媒体文件。在安装过程中,还
要让你选择Xtra的位置,要正确指定你的Authorware下的Xtra文件所在的目录。安装完毕后,Xtra目录下
会增加一个DirectMediaXtra.x32文件,在Authorware中使用DirectMedia Xtra时,就要调用这个文件。
2、使用
  在流程线上选择适当的位置,打开INSERT菜单,选择TABULEIRO XTRAS-> DirectMedia Xtra,这时会
显示一个DirectMedia Xtra属性对话框(如图1)。

单击Browse File,打开另一个对话框,从中选择一个要使用的媒体文件。也可以单击Enter URL来选择一
个互联网上的媒体文件。被选定的文件的全路径名在上面的框中显示出来,同时,文件的可持续播放时间(
Duration)和影片的长宽尺寸都会被显示出来。你可以通过左上角的预览区判断所选文件是否正确。
3、选项设置
  下面我们来了解一下其他部分的含义。
  右侧的Playback Control中,可以对媒体文件播放过程中的音量(Volume),平衡(Balance),播
放速率(Playback)和Cpu占用率(Cpu)进行设置,以达到最佳效果。
  中间的Playback Options可以同时选择多项,选定后的效果如下:
  Toolbar:在播放窗口下面显示一个控制面板,包括一个进度条;
  Loop:自动循环播放媒体文件,直到发出一个暂停或停止命令;
  Pause at Start:在开始时暂停,不播放,等待其他命令;
  Hide Cursor:在播放窗口中隐藏光标;
  Adjust duration before play:播放前校对播放时间。注意,这一项通常处于被选定状态,以保证在
任何计算机上都能正常播放;
  Play segment:通过设定起始点(Start)和结束点(End)实现播放文件的一个片断。 左侧的提示点
(Cue Points)设置是DirectMedia Xtra最具特色的部分,它允许用户在媒体文件的特定时间点上作一个
特定的标记,这样可以在指定的时间或时间段上实现一些交互控制。例如,播放到某个位置暂停,插入一段
解说,然后继续播放等。 所有选项设置完毕之后,单击OK,完成


DirectMedia Xtra全攻略(一)

在Authorware中,虽然可以直接使用一些外部媒体文件,如视频、声音等,但有很大的局限性。比如,在Authorware中,不能直接使用常见的VCD文件(即DAT文件);不能直接播放MIDI文件;不能同时播放两路及多路WAV文件(比如,在有主体配音时,还要播放背景音乐)等。
下面,我们将通过一个外部Xtra即DirectMedia Xtra来实现在Authorware中自由使用外部媒体文件的实例。
  1、 DirectMedia Xtra简介
  DirectMedia Xtra是一个商业产品,用户可以在网站http://www.tbaiana.com上了解到关于它的一些详细介绍。
  DirectMedia Xtra是一个完整支持外部媒体文件的Xtra插件,它既可以用于Authorware中,也可以用于Director中。它完全支持MPEG视频文件、QuickTime视频文件、常见的AVI视频文件、WAV文件、AIF文件、MP2和MIDI文件播放和控制。DirectMedia Xtra有一个很大的特色,即WYSIWYG(What You See Is What You Get--所见即所得)。使用它可以很直观地控制外部媒体对象的音量、播放速度、光标及全屏播放视频文件。
  DirectMedia Xtra在播放MPEG文件和AVI文件时,使用了微软的ActiveMovie及DirectShow引擎来播放高质量和高性能的视频文件。
同时,DirectMedia Xtra还直接支持在视频文件中添加"暗区(Cue Point)",利用暗区,我们可以更加方便地控制视频文件的播放。
  2、 DirectMedia Xtra的使用
  在使用DirectMedia Xtra之前,必须先行安装。待安装完成之后,可以通过Authorware的菜单命令Insert--Tabuleiro Xtras--DirectMedia Xtra来将外部媒体文件添加至Authorware之中。
  如果要使用多路WAV文件,可以在Authorware的流程线上多添加几个DirectMedia Xtra图标即可。
  3、 界面介绍
  当添加DirectMedia Xtra图标后,屏幕上会出现一个标准的DirectMedia Xtra属性对话框,如图1所示。


图1
  单击"Browse File"按钮可以打开一个选择文件的对话框,在其中,我们可以选择一个外部媒体文件,其类型可以是MPG、AVI、MOV、WAV、AIF、MP2、MID等。除了可以选择本机上的文件外,我们还可以选择网络中任何一台计算机中的文件,甚至可以单击"Enter URL"按钮以输入一个位于Internet中的文件,如http://www.mynet.com/media/file.mpg。当选择好文件后,该文件的一些基本信息将显示在属性对话框中,如媒体文件的长度(播放时间)、大小(如视频文件的宽度和高度)等。
  一旦选择了外部媒体文件,我们就可以直接在属性对话框中预览所选文件、设置暗区、设置播放选项(如是否显示工具条、是否循环播放、是否隐藏光标等)、设置播放控制选项(如调节音量大小、调节播放速度、调节声音平衡等)。
  当上述设置完成后,在Authorware的流程线上就会出现一个DirectMedia Xtra图标,如图2所示。双击此图标即可再次编辑DirectMedia Xtra图标的属性。


图2
4、 设置暗区
  在DirectMedia Xtra的属性对话框中,可以直接设置暗区。这些暗区可以在Authorware的事件(Event)响应中进行调用。
每一个DirectMedia Xtra图标中可以最多设置64个不同的暗区,每个暗区的时间是以毫秒来测量的,暗区的名称最多可以达到32个字符。
要创建暗区,可以在DirectMedia Xtra的属性对话框中,先通过预览按钮以定位视频文件至某个时刻,然后单击"Add"按钮,并设置暗区名称即可;如果需要修改一个已有暗区的属性,可以双击该暗区名称,然后在出现的对话框中修改名称及时间;单击"Remove"按钮可删除某个暗区;单击"Go to"按钮可以跳至当前暗区,这样可以测试各个暗区的设置情况。
  我们也可以通过脚本语言来设置暗区。此时,需要使用到两个函数,分别用于添加和删除暗区。
  CallIcon(@"IconName", #addcuepoint, cuepointtime, "cuepointname":添加暗区。其中IconName为DirectMedia Xtra图标的名称;cuepointtime为添加暗区的时刻;cuepointmane为添加暗区的名称。如CallIcon(@"DirectMedia Xtra", #addcuepoint, 10000, "newcue"
  CallIcon(@"IconName", #removecuepoint, cuepointindex):删除暗区。其中cuepointindex为暗区的索引号(此索引号是根据暗区的先后时刻来进行排列的)。如CallIcon(@"DirectMedia Xtra", #removecuepoint, 1)。
  暗区设置完成后,可以在Authorware的事件响应中进行调用。当创建了Event响应后,在其Sender选项中选择一个DirectMedia Xtra图标名称,然后双击它以打开或关闭此图标中媒体文件所包含的暗区。此时,事件名称(Event Name)中将显示出"CuePointPassed"事件。这样,当媒体文件播放至每一个暗区时,事件交互都将产生响应。如果想知道事件响应的详细内容,比如,我们想知道外部媒体文件在播放过程中,到底哪个暗区在什么时候出现,则可以使用变量EventLastMatched@"Response"来捕获暗区名称。
  5、 图标属性
  我们可以使用一些变量或函数来获得或设置DirectMedia Xtra图标的属性。
  A、文件属性
  result:=GetIconProperty(@"DirectMedia Xtra", #file):此函数可以返回图标所链接的外部媒体文件的完整路径和文件名。
  SetIconProperty(@"DirectMedia Xtra", #file,"C:\tmp\sample.mpg":此函数可以设置指定图标所链接的外部媒体文件。
  B、标题属性
  result:=GetIconProperty(@"DirectMedia Xtra", #title):此函数可以返回图标所链接的外部媒体文件的文件名。
  C、显示图标的定位文件对话框
  SetIconProperty(@"DirectMedia Xtra", #showlocatefiledialog,TRUE):如果设置此属性为真,则当外部媒体文件移动位置或出现其它原因而找不到原始媒体文件时,系统将自动出现选择文件对话框,以让用户重新选择一个外部媒体文件。
  D、文件播放时间
  result:=GetIconProperty(@"DirectMedia Xtra", #duration):此函数将返回指定图标所链接外部媒体文件的播放时间长度,其单位为ms。
  E、视频高度及宽度
  result:=GetIconProperty(@"DirectMedia Xtra", #videowidth):此函数将返回指定图标所链接外部视频文件的宽度。
  result:=GetIconProperty(@"DirectMedia Xtra", #videoheight):此函数将返回指定图标所链接外部视频文件的高度。
  F、显示及设置音量、平衡
  result:=GetIconProperty(@"DirectMedia Xtra", #volume):此函数将返回指定图标所链接媒体文件的音量大小,其数值范围从-100至0,单位是DB(分贝)。
  SetIconProperty(@"DirectMedia Xtra", #volume,0):此函数将设置外部媒体文件的音量大小。
  result:=GetIconProperty(@"DirectMedia Xtra", #balance):此函数将返回指定图标所链接的外部媒体文件的左右声道平衡数值,其范围为-100至100。
  SetIconProperty(@"DirectMedia Xtra", #balance,0):此函数可设定指定图标所链接的外部媒体文件的左右声道的平衡数值。
  G、播放速度
  result:=GetIconProperty(@"DirectMedia Xtra", #rate):此函数将返回指定图标所链接外部媒体文件的播放速度,其值从0至200,表示其原始速度的百分比数值。
  SetIconProperty(@"DirectMedia Xtra", #rate,80):此函数可设置媒体文件的播放速度
(二)
H、设置CPU占用率
  SetIconProperty(@"DirectMedia Xtra", #cpuboost,60):此函数可设置播放媒体文件时CPU的占用率,其值可以为0至95。此值一般不宜超过60。
  I、播放时自动调整时间长度
  SetIconProperty(@"DirectMedia Xtra", #adjustdurationbeforeplayback,1):如果设置此属性为真(1),则表示系统将在播放媒体文件时自动调整时间长度。这一点往往很必要,因为不同计算机中的DirectShow驱动器可能会报告同一个视频文件为不同的时间长度,因此,在不同的计算机中播放同一媒体文件时,可能会出现一些问题,如暗区设置不对等。
  J、是否显示工具条及是否重复播放
  SetIconProperty(@"DirectMedia Xtra", #hastoolbar,1):设置此属性为1或0可决定是否在视频播放窗口下面显示一个工具条。
  SetIconProperty(@"DirectMedia Xtra", #loop,1):设置此属性为1则可令媒体文件循环播放。
  K、播放片断
  SetIconProperty(@"DirectMedia Xtra", #playsegment,1):若设置此属性为1,则表示可以播放媒体文件中的某一个片断。
  SetIconProperty(@"DirectMedia Xtra", #segmentstart,time):此函数可设置当前媒体文件播放的开始时间,其数值的单位为ms。此函数仅当设置了  SetIconProperty(@"DirectMedia Xtra", #playsegment,1)后有效。
  SetIconProperty(@"DirectMedia Xtra", #segmentend,45800):此函数可设置当前媒体文件播放的结束时间,其数值的单位为ms。此函数仅当设置了  SetIconProperty(@"DirectMedia Xtra", #playsegment,1)后有效。
  L、开始时暂停
  SetIconProperty(@"DirectMedia Xtra", #pausedatstart,1):此函数可设置媒体文件在打开后是否先暂停。
  M、显示暗区时刻及名称
  GetIconProperty(@"DirectMedia Xtra", #cuepointtimes):此函数将返回指定DirectMedia Xtra图标中媒体文件中所包含的所有暗区的时刻,其结果将形成一个列表,时刻的单位为ms。
  result:=GetIconProperty(@"DirectMedia Xtra", #cuepointnames):此函数将返回指定DirectMedia Xtra图标中媒体文件中所包含的所有暗区的名称,其结果将形成一个列表。
  6、 精灵(Sprite)属性
  result:=GetSpriteProperty(@"DirectMedia Xtra", #currenttime):此函数将返回媒体文件的当前播放时刻,其单位为ms。
  result:=GetSpriteProperty(@"DirectMedia Xtra", #mediabusy):此函数将显示出媒体文件是否正在播放。若其值为1,则表示媒体文件正在播放。
  result:=GetSpriteProperty(@"DirectMedia Xtra", #mostrecentcuepoint):此函数将显示刚刚所播放过的一个暗区的索引值。
  7、 图标函数
  CallIcon(@"IconName", #isDirectShowInstalled):此函数将返回1或0,从而可以检测用户的计算机中是否安装了DirectShow(或ActiveMovie)。注意,在使用此函数时,必须存在一个有效的DirectMedia Xtra图标(即上面的IconName)。
  CallIcon(@"IconName", #addcuepoint, cuepointtime, "cuepointname":添加暗区。
  CallIcon(@"IconName", #removecuepoint, cuepointindex):删除暗区。
  8、 精灵(Sprite)函数
  CallSprite(@"IconName", #videoplay):此函数可以开始或恢复播放媒体文件。
  CallSprite(@"IconName", #videopause):暂停媒体文件的播放。
  CallSprite(@"IconName", #videoseek , time):搜索播放媒体文件。time应用ms表示,这样,系统将从指定的时刻开始播放。
  CallSprite(@"IconName", #videoplaysegment , starttime, endtime):播放分别以starttime和endtime为开始时间和结束时间的片断。如果开始时间和结束时间为同一时间,则媒体文件将在此处暂停。
  CallSprite(@"IconName", #isPastCuePoint , cuepointindex):如果指定的暗区索引值已经播放过了,则此函数将返回1,否则返回0。
  CallSprite(@"IconName", #setvolume, volume):设置音量,其值从-100dB至0dB。
  CallSprite(@"IconName", #getvolume):返回当前的音量值,其单位为分贝。
  CallSprite(@"IconName", #setbalance, balance):设置左右声道平衡,其从-100至100dB。
  CallSprite(@"IconName", #getbalance):返回当前的左右声道平衡值,其单位为分贝。
  CallSprite(@"IconName", #setrate , rate):设置媒体文件的播放速率,其值从0至200(单位为%)。
  CallSprite(@"IconName", #getrate):返回当前媒体文件的播放速率,其单位为%。
  CallSprite(@"IconName", #setfullscreen):全屏播放媒体文件。此函数将新建一个窗口来全屏播放媒体文件。注意,在播放完毕之后,应该关闭全屏播放方式。
  CallSprite(@"IconName", #removefullscreen):关闭全屏幕播放方式,并返回至其原来的播放窗口。
  9、DirectMedia Xtra应用实例
  下面是一个DirectMedia Xtra的应用实例,其中程序结构请参见图3。


图3
  其中"设置窗口大小"图标用以设置演示窗口的大小,其内容为
  ResizeWindow(320,240)
  "DirectMedia Xtra"图标中链接了一个外部的AVI文件,双击此图标可打开其属性对话框,再单击"Options"按钮可打开DirectMedia Xtra的属性对话框,如图4所示。在此属性对话框中,已经选中了"Toolbar"选项,因此,在播放时,影片下面将出现一个控制条。从左下角的暗区设置中可以看出,一共设置了七个暗区。


图4
  在"交互控制"中,设置了四个按钮响应和一个事件响应。其中四个按钮响应分别为"暂停"、"全屏播放"、"播放"、"倒带",其中的内容分别为"CallSprite(@"DirectMedia Xtra",#videopause)"、"CallSprite(@"DirectMedia Xtra",#setfullscreen)"、"CallSprite(@"DirectMedia Xtra",#videoplay)"、"CallSprite(@"DirectMedia Xtra",#videoseek,0)"。事件响应的具体内容请参见图3右上角的部分内容,其中"事件名称(Event Name)"为CuePointPassed。"测试暗区"计算图标中的内容为"cue:=EventLastMatched@"测试暗区"[#cuename]",即将刚经过的暗区名称(cuename)赋给变量cue,并在"交互控制"图标中显示该变量(播放过的:{cue}),如图5所示。


图5


图6
  通过上述工作,我们可以开始运行程序了,如图6所示。单击各按钮即可进行相应的操作。当单击"全屏播放"按钮后,程序将自动新开一个场景进行全屏播放影片(而原来的窗口播放并未停止),此时,单击任务栏中的任意图标即可令程序返回至窗口播放模式。在"播放过的暗区"后面,随着影片的不断播放,将逐一显示我们设置的七个暗区名称。你只需稍微动一下脑筋,即可利用暗区来对影片进行随意的播放控制


可惜图片传不上来!



268

职务:普通成员
等级:1
金币:0.0
发贴:124
#32004/4/14 13:53:49
感谢亲亲一吻,真是很感谢你的回复,但没有图片,我有些东西不懂啊 ,我的意思是做完 的DIR文件打包输出后怎么和插件使用?
我的邮箱:LL115·126.COM
能不能把图片发 到我的邮箱啊?
谢谢! ;)



段氏

职务:普通成员
等级:1
金币:1.0
发贴:196
#42004/4/16 8:18:28
你打包以后应该把用到的插件也打包进去的呀!
别叫我发邮件,我最狠发邮件,(抱歉呀)



268

职务:普通成员
等级:1
金币:0.0
发贴:124
#52004/4/17 16:27:54
是不是那样就可以用了
在播放视频的时候他 自己就会播放了啊
我以前用的是MPEG‘插件,现在就可以不用MPEG‘插件了是吗?
我这里很模糊,谢谢您赐教啊!
谢谢!!