主题:  directMedia的控制命令

acneyouth

职务:普通成员
等级:1
金币:1.0
发贴:181
注册:2004/6/9 10:01:26
#12001/5/24 14:41:29
好象许多朋友都不知怎么用程序控制diectmedia,其实这在它的帮助文件里写的很清楚,E文也不难。我在这里译了一些,没译完,先贴出来吧,算是回答loveking,如果大家觉得有用再继续。以下都是一些member属性。
member(N).file="fileName"(应包含路径):控制播放哪个文件

member(N).linkedmedialocated=true/false:决定directmedia是否在影片一开始就载入mpg文件

videoheight似乎没用

member(N).rate=Num :控制影片以原速度Num%的速度播放。

member(N).hastoolbar=true/false :决定影片是否有控制条

member(N).segmentstart :决定影片从那里开始播放,与segmentend对应,都须将playsegment设为1才起作用。segmentstart与segmentent必须同时使用。

put member(N).cuepointtimes :输出一个cue point所在位置的列表。cue point可在directmedia的界面上设置,也可用程序设置。

member(N).title="pathname" :决定当directormedia找不到原定的文件时,播放哪个文件,不过我没用过。

put member(N).duration :输出mpg的时间长度,单位毫秒。

member(N).volume :取值为-100到0,单位分贝。

member(N).cpuboost :取值为0到95,决定将多少cpu时间用于播放视频。取值大于40可能会导致问题发生。

member(N).loop=true/false:决定是否循环播放。

member(N).segmentend:决定影片放到那里结束。

member(N).cuepointnames:cue point的名字列表。




loveking

职务:普通成员
等级:1
金币:0.0
发贴:117
注册:2000/12/11 19:51:06
#22001/5/24 15:23:36
acneyouth,似乎上面有很多命令都是不起作用的
而且比如快进快退等也没有



acneyouth

职务:普通成员
等级:1
金币:1.0
发贴:181
注册:2004/6/9 10:01:26
#32001/5/25 9:12:48
不会吧?我都在message窗口中试过。注意这些都是member属性。



loveking

职务:普通成员
等级:1
金币:0.0
发贴:117
注册:2000/12/11 19:51:06
#42001/5/25 11:08:17
member(N).rate=Num :控制影片以原速度Num%的速度播放。
就拿这个来说,我试过都是失效的



acneyouth

职务:普通成员
等级:1
金币:1.0
发贴:181
注册:2004/6/9 10:01:26
#52001/5/25 11:25:35
N指的是directmedia这个插件在castLib中的编号,如放在1号,则语句如下:
member(1).rate=20-------以20%的速度播放。
member(1).rate=130-----以130%的速度播放。
Num别太大,不然可能会出问题。



loveking

职务:普通成员
等级:1
金币:0.0
发贴:117
注册:2000/12/11 19:51:06
#62001/5/25 11:35:55
我就是这样使用的,但居然不起任何作用
我的MPG在40---50M之间 ,最大的不超过80M



loveking

职务:普通成员
等级:1
金币:0.0
发贴:117
注册:2000/12/11 19:51:06
#72001/5/25 11:36:12
我就是这样使用的,但居然不起任何作用
我的单个MPG文件在40---50M之间 ,最大的不超过80M



acneyouth

职务:普通成员
等级:1
金币:1.0
发贴:181
注册:2004/6/9 10:01:26
#82001/5/25 13:23:57
刚才我试了一下,发现这些命令必须在视频出现之前就被执行,否则无效。你碰到的就是这个问题吧?原来我只是在消息窗口中试用这些命令,所以没发现这个问题。你再试试吧,命令肯定没错,和视频大小也应该无关,可能是其它的问题。



loveking

职务:普通成员
等级:1
金币:0.0
发贴:117
注册:2000/12/11 19:51:06
#92001/5/25 14:33:46
这样的控制不是办法,控制MPG有没有其它更好的办法或插件>



acneyouth

职务:普通成员
等级:1
金币:1.0
发贴:181
注册:2004/6/9 10:01:26
#102001/5/28 13:53:45
member(N).playsegment=True/False
决定segmentstart 与segmentend是否起作用,既能否只播放mpg片段。

以下是sprite属性:
the currenttime:只能检测,表示当前已播放的长度,单位毫秒。

the mediabusy:只能检测,1表示mpg正在播放,0表示已放完。

the mostrecentcuepoint :只能检测,put sprite(N).mostrecentcuepoint输出最后经过的cue point。

以下是sprite函数:
videoplay(sprite x):开始播放一个mpg.

videoplaysegment(sprite x,start,end):播放一个片段,单位毫秒,playsegment属性应该设为1.
如:
on preparemovie
member(1).playsegment=1
sprite(1).videoplaysegmebt(3000,4000)-----等同于videoplaysegment(sprite 1,3000,4000)
end





jerrowolf

职务:普通成员
等级:1
金币:0.0
发贴:83
注册:2001/1/4 20:28:12
#112001/5/29 8:39:43
在yufeng下载的xtra中有例子的,基本的媒体控制功能都实现了。大家可以好好研究研究,嘻嘻,现在我还没仔细研究呢。