一、创建[url=]DirectMediaXtra[/url] cast member:
从你的Director菜单中选择Insert->TABULEIRO XTRAS->DirectMediaXtra将会弹出如图所示的对话框。点击browse file将会提示你选自一个媒体文件进行关联,Director Media支持对MPEG,AVI,Quicktime,WAVE,AIF,MP2和MIDI文件进行控制。也可以对位于内部[url=]网络[/url]其他电脑上的文件进行关联,点击Enter URL输入你所要关联文件的URL即可(如:http://www.yournet.com/mpg/001.mpg)。
之后就可以设制cue points并对回放的选项(如工具栏、音量、速度均衡等)进行调控了,当你做完这些工作点击ok,一个新的cast成员就会出现在cast窗口中。 二、使用Behaviors库
正式安装的DirectMediaXtra还包括一些为Director 6或更高版本的Director制作的常用的Behaviors。这些Behaviors包括在XTRAS->DIRECTMEDIAXTRA下的DirectMediaXtra Behavior Library中。
灵活的应用的这些Behaviors你可以很容易地创建播放、重复、暂停、前进、后退、寻找并播放某个片段的按钮;还可以制作拉杆对音量、均衡及播放位置时间进行控制。 三、Cue Points
DirectMediaXtra的播放控制主要通过Cue Points来实现,每段DirectMediaXtra最多允许64个不同的Cue Points标签,Cue Points以毫秒为单位,每个Cue Point名称不能超过32个字母。Cue Points可以通过属性菜单左下角的Cue Points配合预览窗口进行添加,Add加入一个Cue Point;Remove删除一个Cue Point;Go to检查所选Cue Point的位置;双击Cue Point的名称,可以对该Cue Point的名称和时间位置进行修改。
通过lingo添加或删除Cue Point
addcuepoint(member x, cuepointtime, cuepointname)
实例:addcuepoint(member 2, 10500, "NewCue") removecuepoint(member x, cuepointindex)
实例:removecuepoint(member 2, 1) 使用Cue Point可以象Director内建媒体的Cue Point一样,在Score的Tempo通道里选择"Wait for cue point"选项。也可以通过lingo进行控制,
DirectorMediaXtra支持以下的与Cue Point有关的Director lingo指令
isPastCuePoint(sprite x)
the mostRecentCuePoint of sprite x
the cuepointtimes of member x
the cuepointnames of member x
on cuePassed me, whichChannel,
cuePointNumber, cuePointName 需要注意的是当你使用Tempo的"Wait for cue point"时不要把你的DirectMediaXtra角色放在score的最后帧上,这样将会造成DirectMediaXtra不能正常工作。 四、设置属性
使用DirectorMediaXtra的控制菜单可以很容易地对属性进行控制,下面主要是讲如何通过lingo指令对属性进行控制。 对演员(Cast)的控制: 列示所关联文件的完整路径名
put the file of member 1
--"C:\myfile\file1.mpg" 列示所关联文件名
put the title of member 1
--"file1.mpg" 若找不到原指定文件,显示提示对话框
set the showlocatefiledialog of member 1 to TRUE 列示时间长度
put the duration of member 1
-- 45200 原影片的宽度
put the videowidth of member 1
-- 352 原影片的高度
put the videoheight of member 1
-- 240 当前的音量大小(dB)
put the volume of member 1
-- -10 使当前音量为0
set the volume of member 1 to 0 当前的均衡度
put the balance of member 1
-- -100 使当前的均衡度为0
set the balance of member 1 to 0 当前的播放速度
put the rate of member 1
-- 100 使当前的播放速度为50
set the rate of member 1 to 50 设置当前的CPU占用率为50
set the cpuboost of member 1 to 50 设置回放时的Adjust duration before playback为真
set the adjustdurationbeforeplayback of member 1 to TRUE 设置回放时的工具栏为真
set the hastoolbar of member 1 to TRUE 设置回放时的重复回放为真
set the loop of member 1 to TRUE 设置回放时播放片段为真
set the playsegment of member 1 to TRUE 设定片段的起始位置为10700(仅当回放时播放片段为真时有效)
set the segmentstart of member 1 to 10700 设定片段的结束位置为43200(仅当回放时播放片段为真时有效)
set the segmentend of member 1 to 43200 设置回放开始时暂停
set the pausedatstart of member 1 to TRUE 列出所有Cue Point的时间
put the cuepointtimes of member 1
-- [4500,12300,34650,67321] 列出所有Cue Point的名称
put the cuepointnames of member 1
-- ["Cue 1","NewCuePoint","Start Point","Second part"] 对角色(Sprite)的控制 列示当前的时间
put the currenttime of sprite 1
-- 22345 检查是否正在播放(1为真,0为假)
put the mediabusy of sprite 1
-- 1 五、函数 演员(Cast)函数 检查[url=]用户[/url]的电脑上是否安装了DirectShow,返回值为1则为真,为0则为假
isDirectShowInstalled(member 1)
if the result=0 then
alert("Please install DShow")
else
--nothing
end if 创建新的Cue Point
addcuepoint(member 2, 10500, "NewCue") 删除Cue Point列表的第2个Cue Point
removecuepoint(member 2, 1)
角色(Sprite)函数
开始播放或继续播放媒体文件
videoplay(sprite 1) 暂停播放媒体文件
videopause(sprite 1) 搜寻一个不同时间段,并暂停在那里
videoseek(sprite 1, 15000) 播放一个从10000到20000的片段
videoplaysegment(sprite 1, 10000,20000) 暂停在30000时间处
videoplaysegment(sprite 1, 30000,30000) 检查Cue Point列表的第2个Cue Point是否已被通过,返回值为1则为真,为0则为假
isPastCuePoint(sprite 1, 2)
put the result
-- 1 设定音量为0 dB(范围可以从-100到0 dB)
setvolume(sprite 1, 0) 获取当前的音量值
put getvolume(sprite 1)
-- -20 设定均衡为0 dB(范围可以从-100到100 dB)
setvolume(sprite 1, 0) 获取当前的均衡值
put getbalance(sprite 1)
-- -100 设定播放速度(范围可以从0到200%)
setrate(sprite 1, 80) 获取当前播放速度
put getrate(sprite 1)
-- 100 设定为全屏播放
setfullscreen(sprite 1) 撤销全屏播放
removefullscreen(sprite 1) 六、创建目标文件
若你制作的目标文件包括了DirectorMediaXtra的演员,则Xtra文件会自动地加入到你的目标文件中。若只是在其他的.dxr文件中使用到,则你要在MODIFY->MOVIE->XTRAS中加入DirectMediaXtra.x32。 =======================================================================
本文的主要内容来自于DirectorMediaXtra的官方Help文件,我只对主要内容进行了一下描述,由于能力有限,而且文中所涉及的lingo指令,很多是我都没有用过的,错漏在所难免,所以更多的具体内容还请大家参看原文的Help文件。其实最实际的办法是多拿官方提供的那个样品Movie看看,所有的内容及使用方法都在那里了。 |