主题:  "急"在D如何实现这个功能?"急"

bendeng

职务:普通成员
等级:1
金币:0.0
发贴:44
注册:2003/10/13 3:30:38
#12003/11/14 16:38:11
小弟的课题快完成了.
现在老师说要我完成一个功能.情况如下.
我的课题要播放MPG的.但是我的mpg只能用DIRECTOR里的QUICKTIME来播放.
我的电脑一直都有安装QUICKTIME的.所以运行我的SOFTWARE的时候没有问题.
但是我在学校运行的时候,因为它本身没有安装QUICKTIME.所以一运行到放电影的时候有个大X在那里.
所以老师要我.在软件开始运行时.先检查系统是否安装了QUICKTIME.
如果没有.要弹出一个信息窗口.说要安装QUICKTIME.按确定后.自动运行.指定目录上的
QUICKTIME安装文件.

各位大哥.....
帮帮忙...呵呵...
请问怎么实现这个功能.
急啊..............
谢谢



lxm5717

职务:普通成员
等级:1
金币:0.0
发贴:138
注册:2001/3/29 8:36:15
#22003/11/14 18:17:22
很简单啊。检测版本程序:
on QuickTimeVersionIsCurrent
mci "info QTWVideo version"
if value( the result ) < 3。00 then
安装程序
else
正常运行程序
end if
end QuickTimeVersionIsCurrent



bendeng

职务:普通成员
等级:1
金币:0.0
发贴:44
注册:2003/10/13 3:30:38
#32003/11/14 19:27:12
不好意思.
小弟是菜鸟....
"安装程序"和"正常运行程序"
应该怎么写



netebb

职务:普通成员
等级:1
金币:0.0
发贴:51
注册:2000/11/25 21:50:19
#42003/11/14 19:31:51
安装程序用 open "路径+可执行文件名"
正常运行程序是让你 go to 到其它帧或marker



bendeng

职务:普通成员
等级:1
金币:0.0
发贴:44
注册:2003/10/13 3:30:38
#52003/11/14 19:32:32
我的软件要刻到光盘的.
在光盘的根目录有一个.Installs目录.
在这个目录下有QUICKTIME的安装文件.QuickTimeInstaller.exe
而我的软件在光盘根目录下.
这样的话.
"安装程序"和"正常运行程序"
应该怎么写

谢谢大哥



bendeng

职务:普通成员
等级:1
金币:0.0
发贴:44
注册:2003/10/13 3:30:38
#62003/11/14 19:34:00
open "Installs\QuickTimeInstaller.exe"
是这样吗?



bendeng

职务:普通成员
等级:1
金币:0.0
发贴:44
注册:2003/10/13 3:30:38
#72003/11/14 19:45:47
on QuickTimeVersionIsCurrent
mci "info QTWVideo version"
if value( the result ) < 4.00 then
open "Installs\QuickTimeInstaller.exe"
go the frame
else
go frame "introduce"
end if
end QuickTimeVersionIsCurrent

我是这样写的对吗?
我把它放到第一针上面。
我现在是在98里测试,98里没有安装QUICKTIME的。
但是软件运行的时候都没有说安装QUICKTIME。就直接运行INTRODUCE了。
请问是什么原因?



bendeng

职务:普通成员
等级:1
金币:0.0
发贴:44
注册:2003/10/13 3:30:38
#82003/11/14 20:36:22
on enterframe me
mci "info QTWVideo version"
if value( the result ) < 4.00 then
open "Installs\QuickTimeInstaller.exe"
else
go frame "introduce"
end if
end

如果改成enterframe.就会弹出quicktime的安装.
但是.不管有没有装过quicktime它都会弹出安装窗口.
看来判断语句有问题.



Super ChiCk

职务:版主
等级:5
金币:15.0
发贴:3502
注册:2003/9/6 14:53:41
#92003/11/15 8:04:20
在Director应用程序中直接调用QuickTime文件

QuickTime的.mov文件是使用十分广泛的一种媒体格式,特别是其QTVR更是因其精致的画面及内置热区,而有广泛的用途。Director直接支持引用.mov文件,并且内置几十条相关Lingo指令,可对其进行更加精确的控制。
QuickTime文件在苹果机上可以直接使用,而在windows系统中需加装QuickTime Player,比较烦琐。有没有方法使我们在Windows系统中也不用加装任何软件而直接使用QuickTime影片呢?答案是肯定的。
我在工作实践中发现,只需将QuickTime安装在系统中的文件拷贝到Director执行文件目录下即可,但有几点需注意:
1、  最好将此执行文件放于下层目录中,以便在主执行文件中先检测用户计算机中是否已经安装了QuickTime3.0以上版本,如已安装则执行另一目录中的文件,以免引起冲突。
2、  如拷贝QuickTime3.0文件,则直接支持.mov影片及QTVR格式。而拷贝QuickTime4.0文件,则对QTVR格式支持不好。

附:需拷贝的文件:
3DViewer.dll
Indeo4.qtx
npqtplugin.dll
qd3d.dll
QD3D_IR2.q3x
QD3DCustomElements.q3x
QTUninst.dll
QuickTime.cpl
QuickTime.qtp
QuickTime.qts
QuickTimeMusicalInstruments.qtx
QuickTimeVR.qtx
rave.dll

可以检测没有qt之后直接用应用程序打开
不用安装,上面的文章摘自5d
原作者:ovews



bendeng

职务:普通成员
等级:1
金币:0.0
发贴:44
注册:2003/10/13 3:30:38
#102003/11/15 10:31:08
谢谢ccloveaa

但是
可以检测没有qt之后直接用应用程序打开

怎么检测.....现在另一位大哥给的检测语句好像不行.



Super ChiCk

职务:版主
等级:5
金币:15.0
发贴:3502
注册:2003/9/6 14:53:41
#112003/11/15 10:54:00
on QuickTimeVersionIsCurrent
mci "info QTWVideo version"
if value(the result)< 3.00 then
安装qt
else
nothing
end if
end QuickTimeVersionIsCurrent
这个应该好用吧 我没做过测试 我的电脑有qt,不容易找一台没有qt的机器,所以没有帮你测试

global QuickTimeVersionIsCurrent
on preparemovie me
QuickTimeVersionIsCurrent --检测有没有安装qt,如果没有安装,如果有nothing
end

这样的话应该就可以了吧





bendeng

职务:普通成员
等级:1
金币:0.0
发贴:44
注册:2003/10/13 3:30:38
#122003/11/15 11:27:56
啊..我就是测试了.不行啊...我上边也有个帖子说.
它直接安装QT.
因为我测试的电脑是有QT的.但是.它还是弹出安装窗口.
只是QT告诉我已经装了.
这样的话.不是说明QT的判断语句有问题吗?


另外
3DViewer.dll
Indeo4.qtx
npqtplugin.dll
qd3d.dll
QD3D_IR2.q3x
QD3DCustomElements.q3x
QTUninst.dll
QuickTime.cpl
QuickTime.qtp
QuickTime.qts
QuickTimeMusicalInstruments.qtx
QuickTimeVR.qtx
rave.dll
这些文件拷贝在下一级目录.是不是.如果没有QT.会自动运行的.
还是还要加运行语句....



Super ChiCk

职务:版主
等级:5
金币:15.0
发贴:3502
注册:2003/9/6 14:53:41
#132003/11/15 12:40:11
好像应该这样写,原来我还没怎么注意
on QuickTimeVersionIsCurrent
mci "info QTWVideo version"
if value(the result)>= (新安装qt的版本号)then
nothing
else
安装qt
end if
end QuickTimeVersionIsCurrent

那些应该是在d中单独打开一个外部qt文件的时候用到的,就像open *.exe 那样打开外部程序
不能自动运行
需要看外部的mov的话
on mouseup me
open *.mov with qt.exe
end
应该是这样吧,我没做测试.说的不一定对,你自己试试.




Super ChiCk

职务:版主
等级:5
金币:15.0
发贴:3502
注册:2003/9/6 14:53:41
#142003/11/15 13:30:34
quicktimePresent 可以直接用于检测安装没安装,上面写的那些都是检测版本是否过低的
if the quicktimePresent = 1 then
--the quicktimePresent 为侦测是否安装了Quicktime,安
--装了则其值为1,反之则为0
if qtversion < 3 then
--版本是否小于3,小于3的话则执行后面的语句
open "QuickTimeInstaller.exe" --启动安装程序
quit --退出Director程序
else --不小于3的话则执行下面的语句
nothing
摘自lingo字典



bendeng

职务:普通成员
等级:1
金币:0.0
发贴:44
注册:2003/10/13 3:30:38
#152003/11/15 16:53:42
谢谢.ccloveaa.

但是那些qt的文件.没有exe...
我应该运行那个?

但是我测试过.把我要的QT文件拷贝到我的软件的相同目录.
在没有装QT的OS下.MPG顺利播放.
但是因为QT文件太多.不美观.想放到一个子目录上.但是不知道怎么运行.