DIRECTOR是一个体系结构非常完整的多媒体创作软件。之所以说它体系完整, 不仅因为它的功能包含了多媒体创作的方方面面(包括多媒体脚本语言LINGO)
,还因为它提供了多种扩展自身的途径。这其中分为两种:一种是利用已有的 外部系统功能,例如MCI指令;另一种是利用Macromedia
公司的XDK(Xtra Developmemt KIts)工具开发DIRECTOR插件。这里我重点阐述MCI指令在DIRECTOR
中的应用。
好的多媒体程序会在程序起动时检测一些本机多媒体硬件环境的设置。 例如本机是否安装了声卡驱动程序,是否安装了苹果QUIKTIME插件,
以及QUIKTIME插件的版本为多少,是否版本足够新?有人一定会问: “DIRECTOR 本身LINGO 语言并没有提供这样的函数,难到还要专门为
它开发一个扩展LINGO函数吗?”。其实要实现以上的功能要比你想象的 要简单的多,这取决于你如何活用MCI指令。我编写了三个LINGO函数
computerCanPlayAudio(),QuickTimeIsInstalled(),QuickTimeVersionIsCurrent()
以实现对声卡驱动程序的检测,对苹果QUIKTIME插件的安装检测,以及对QUIKTIME 插件的版本的检测。
这里我对程序作部分说明:the machineType 是一个DIRECTOR的内部变量, 当它的值为256时,表示本机为IBM
PC 兼容机,当它的值小于是256时, 表示本机为苹果MACINTOSH机。LINGO 调用MCI 指令时,将返回值 放入the
result 这个DIRECTOR的内部变量里。
computerCanPlayAudio()函数检测是否安装了声卡驱动程序
on computerCanPlayAudio
if the machineType < 256 then -- 表示本机为苹果MACINTOSH机
return TRUE
else -- 表示本机为IBM PC 兼容机
mci "capability waveaudio can play"
if the result = "true" then
return TRUE
else
return FALSE
end if
end if
end computerCanPlayAudio
QuickTimeIsInstalled()函数检测是否安装了苹果QUIKTIME插件 on QuickTimeIsInstalled
if the machineType < 256 then -- 表示本机为苹果MACINTOSH机
if the quickTimePresent then
return TRUE
else
return FALSE
end if
else -- 表示本机为IBM PC 兼容机
mci "capability QTWVideo can play"
if the result = "true" then
return TRUE
else
return FALSE
end if
end if -- the machineType
end QuickTimeIsInstalled
QuickTimeVersionIsCurrent()函数检测QUIKTIME插件的版本是否足够新.
on QuickTimeVersionIsCurrent
mci "info QTWVideo version"
if value( the result ) < 2.351 then --value(string)返回数字字符串的数字值
return
FALSE
else
return TRUE
end if
end QuickTimeVersionIsCurrent
以上是我对MCI在DIRECTOR中使用的一些体会,我使用DIRECTOR已有两年, 我认为作为一名多媒体程序员,只有充分掌握LINGO语言,才能用DIRECTOR
作出好的多媒体程序。
《5D多媒体》提供 莫特探员/文