2023年11月23日发(作者:)
MMB常用脚本关键字
AGifPlay("ANIGIF OBJECT")
功能:播放GIF对象动画
例:播放标签名为”Gif_01”的GIF对象:
AGifPlay("Gif_01")
AGifStop("ANIGIF OBJECT")
功能:停止GIF对象动画
AGifReset("ANIGIF OBJECT")
功能:从第一帧重新开始GIF动画
Clipboard("SEND/GET","stringvariable$")
功能:从剪贴板获取或向剪贴板发送字符串变量
说明:SEND/GET 指定发送/获取方式; stringvariable$ 字符串变量
例:将字符串:Multimedia Builder 复制到剪贴板
mmb$="Multimedia Builder"
Clipboard("SEND","mmb$")
DisplayValue("TEXTOBJECT","VARIABLE")
功能:将 VARIABLE 赋值给文本对象并显示文本对象的值
例:将变量 a 的运算结果赋值给文本对象 text1,显示为2068
a=1234*2
DisplayValue("text1","a")
Exit()
功能:结束当前工程
说明:当主页顶层(Master Top Layer)包含 CBK_Exit 对象(组)时,执行 Exit( ) 命令
并不会直接结束工程,而是执行 Show("CBK_Exit") 命令。
参见:Samples 目录的
ExitTimer("MILLISEC")
功能:等待指定的时间后结束工程
说明:MILLISEC 毫秒数
注:PageTime( ) 命令将使该命令失效。
FileExist("PATH TO FILE","VARIABLE")
功能:检测外部文件是否存在
说明:PATH TO FILE 指定路径和文件名; VARIABLE 返回值,为"1"表示存在;为"0"
则不存在
例:检测当前目录是否包含 ,如果文件存在,变量 test_a 返回值为"1"
FileExist("
FirstPage()
功能:跳转到工程第一页
FileString("substring","variable")
功能:从打开的文件中查找匹配的字符串
说明:substring 查找字符串; variable 返回值。如果存在返回"1",不存在返回"0"
例:弹出打开文件对话框,如果选择的打开文件包含 .wav 字符则该文件
OpenFile("All Files|*.*||","*.*")
FileString(".wav","result")
if (result = 1) then
WavePlay("
end
Hide("OBJECT")
功能:隐藏对象或组中的对象
注:MMB 4.4及以后版本可以在命令中指定对象的所在页(包括主层和主页),格式为
Hide("Page::Object")。
例:Hide("Page 1::Text01")
Hide("Master Page::Bitmap01")
Hide("Master Layer::Bitmap01")
Invere("OBJECT")
功能:翻转对象或组中对象的显示/隐藏状态
LastPage()
功能:跳转到工程最后一页
LoadText("TEXTOBJECT","VARIABLE")
功能:从一个字符串变量或文本文件读取文本内容并赋值给段落文本、文本或文字按钮对象
说明:TEXTOBJECT 文本对象
VARIABLE 变量
注:更多的LoadText命令格式
LoadText("TextObject","variable$")
LoadText("TextObject","path")
LoadText("TextObject","")
LoadText("TextObject","Number")
LoadText("variable$","path")
LoadText("variable$","Number")
LoadVariable(“KeyName”,”Valume")
功能:从 Windows 注册表读取已经保存的变量值
说明:KeyName 保存到注册表中的键名,可以与变量名不同;Valume 已经保存的变量
名
注:该命令将从注册表的以下位置读取变量: Valume = KeyName
HKEY_CURRENT_USERSoftwareMMBuilderMultimedia BuilderMyApp
Message("ANYSTRING","VARIABLE")
功能:弹出一个警告窗口
说明:ANYSTRING 警告文本; VARIABLE 变量值
Minimize()
功能:最小化当前工程
NextPage()
功能:跳转到工程下一页
OpenFile("filter", "default")
功能:调用Windows打开文件对话框
说明:Filter 文件类型过滤器,格式如 MPEG Files (*.mpg)|*.mpg|All Files|*.*||, 过滤器
的最后要求使用“||”作为结束符; Default 默认的打开文件类型
注:被选择的打开文件名保存在系统变量 OpenFile$ 中,文件内容存放在系统变量 File
中
例:从打开文件对话框打开一个文本文件并赋值给 Paragraph 文本对象
OpenFile("Text Files (*.txt)|*.txt|All Files|*.*||","*.txt")
Message("The file you selected is","OpenFile$")
LoadText("Paragraph","
Page("PAGE LABEL")
功能:跳转到工程指定页
说明:PAGE LABEL 页标签名
PageTimer("MILLISEC","PAGE")
功能:等待指定的时间后跳转到指定页
说明:PageTime("MILLIEC","THIS_PAGE") 将在指定时间后重新执行当前页;其它参见
Page( )
注:在等待时间鼠标点击任何交互对象都将取消该命令;也可以指定一个脚本名在指定的时
间后运行
PrevPage()
功能:跳转到工程上一页
Return()
说明:从当前执行的脚本返回
RunMBD("PATH TO MBD","PAGE LABEL")
功能:运行一个外部MBD文件。
说明:PATH TO MBD MBD文件路径和文件名; PAGE LABEL 指定运行MBD文件的
起始页
注:在指定MBD文件路径时不允许使用系统变量形式的路径
RunScript("OBJECT")
功能:运行指定对象所包含的脚本
SaveVariable(“KeyName”,”Valume")
功能:将变量值保存到 Windows 注册表
说明:KeyName 保存到注册表中的键名,可以与变量名不同;Valume 保存变量名
注:该命令将向注册表的以下位置写入: KeyName = Valume
HKEY_CURRENT_USERSoftwareMMBuilderMultimedia BuilderMyApp
ScriptTimer("OBJECT","MILISEC")
功能:在指定的时间后运行指定对象包含的脚本
说明:MILISEC 毫秒数
SendComand("Binder","m,n")
功能:向捆绑应用程序对象(Binding Object)的菜单传递执行命令
说明:Binder 捆绑对象;m 第几项菜单(左起第一项为“0”);n 菜单第几项命令(上
起第一项为“0”,包括菜单分割线)
例:向捆绑了记事本的对象Bin_01 传递"文件" > "打印" 命令
SendCommand("Bin_01","0,6")
Show("OBJECT")
功能:显示对象或组中的对象
注:对于 gif 动画将从第一帧开始显示。
MMB 4.4及以后版本可以在命令中指定对象的所在页(包括主层和主页),格式为
Hide("Page::Object")。
例:Hide("Page 1::Text01")
Hide("Master Page::Bitmap01")
Hide("Master Layer::Bitmap01")
VideoPlay("VIDEO OBJECT")
VideoStop("VIDEO OBJECT")
功能:播放或停止视频(AVI)对象
CDBW()
功能:CD快退
CDFW()
功能:CD快进
CDPause()
功能:暂停播放音乐CD
CDPlay()
功能:播放音乐CD
CDPlayPause()
功能:切换CD的播放/暂停状态
CDStop()
功能:停止播放音乐CD
CDTrack("NUMBER OF TRACK")
功能:指定并播放音乐CD某一音轨
说明:NUMBER OF TRACK CD音轨
注:对于制作的混合模式CD,第一音轨的序号可能是"2"
MidiPlay("PATH TO MIDI","[LOOP]")
功能:播放外部MIDI文件
MidiStop()
功能:停止播放MIDI文件
MODOpen("PATH TO MOD")
功能:打开并播放Mod文件
MODPlay()
功能:播放打开的 Mod 文件
MODStop()
功能:停止播放 Mod 文件
MP3Open("PATH TO MP3")
功能:打开并播放MP3声音文件。
说明:PATH TO MP3 MP3声音文件的路径和文件名。
注:在MMB中只能播放外部MP3声音文件;如果命令使用空字符串作为参数:Mp3Open(""),
命令会自动弹出打开文件对话框。
Mp3Pause()
功能:暂停当前播放的MP3声音。使用Mp3Play()从当前暂停位置继续播放
Mp3Play()
功能:播放当前打开的MP3声音文件
Mp3Stop()
功能:停止当前播放的MP3声音
PlaySound("path")
功能:播放所有支持的声音文件格式。
注:可以使用PlaySound("
VolumeDown("volume")
功能:向下调整计算机主音量5%
说明:volume 如果指定具体值,则调整到给定值(0100)
VolumeUp("volume")
功能:向上调整计算机主音量5%
说明:(同VolumeDown)
WavePlay("PATH TO WAVE","command")
功能:播放外部或置入的WAV声音文件。
说明:PATH TO WAVE 外部WAV文件及其路径,对于置入的WAV文件不是用路径,
但要直接使用WAV声音文件名(不是MCI对象名)并必须包括扩展名; command 可以
使用"LOOP"来强制声音的循环播放,直至使用WaveStop()命令停止。
注:"command"若不使用"LOOP"参数,必须用一空字符串代替,并必须包含在命令之中。
WaveStop()
功能:停止WAV声音的播放
MoveObject("Object","x,y,w,h")
功能:移动对象(或组)
说明:Object 操作对象; x,y 对象坐标; w,h 对象宽高
MoveTo("Object","x,y,steps,type")
功能:移动对象(或组)从当前位置到目标点; 说明:Object 操作对象; x,y 目标点;
steps 移动所需的步数(越多则运动越平滑); type 动作类型:(无)表示线性移动类
型;EASYTO表示减速运行;EASYFROM表示加速运行
Pause("ms")
功能:暂停脚本执行
说明:ms 暂停时间(秒)
Refresh( )
功能:强制刷新屏幕(无参数)
媒体控制命令
通用格式:MCICommand("MCI STRING")
说明:在"MIC STRING"中允许使用
InitTTS()
功能:初始化系统TTS引擎
注:要求 Windows 系统必须已经安装TTS系统。执行这个命令需要几秒钟的时间,并会
在屏幕显示一个很小的检查信息框。
InstallTTS("PATH")
功能:从指定的位置安装TTS系统
说明:该命令会首先检测 Windows 系统是否已经安装 TTS 引擎,如果已经安装则会自动
跳过。
注:Multimedia BuilderTTS 目录下的 文件中列举了许多可以免费下载
TTS 安装程序的网址(TTS引擎是微软的一个免费软件)
PitchTTS("Frequency")
功能:改变TTS引擎朗读频率
注:范围在 50 200 之间,默认为 100
PauseTTS()
功能:暂停当前的TTS朗读
ResumeTTS()
功能:继续暂停的TTS朗读
SpeakText("TextObject")
功能:阅读文本对象的文本内容
例:朗读页面文本对象 text02 中的文字内容
SpeakText("text02")
SpeedTTS("Speed")
功能:改变TTS引擎的朗读速度
注:范围在 30 450,默认为 150
StopTTS()
功能:停止当前的TTS朗读
CBK_CurItemList
功能:显示当前播放的MP3在播放列表中的位置
CBK_Exit
功能:被 Exit( ) 命令激活并显示
说明:当主页顶层(Master Top Layer)包含 CBK_Exit 对象(组)时,执行 Exit( ) 命令
并不会直接结束工程,而是执行 Show("CBK_Exit") 命令。
参见:Samples 目录的
CBK_MP3Bit
功能:显示MP3文件的采样率
注:显示格式为 XX Kbips
CBK_MP3EOF
功能:MP3特殊脚本对象
说明:如果一个脚本在当前页、主页或主层切它的标签为CBK_MP3EOF,当一段MP3播
放到末端时该脚本会被自动运行。
CBK_MP3Freq
功能:显示当前MP3文件采样频率
注:显示格式为:XXXXX Hz
CBK_MP3Name
功能:显示当前MP3音乐名
CBK_NumInList
功能:显示当前播放列表中的项目总数
CBK_MP3Type
功能:文本对象。显示文件类型
注:对于MP3文件显示:MPEG 1 Audio Layer 3
CBK_Time
功能:文本对象。显示当前MP3文件播放经过的时间
CBK_Total
功能:文本对象。显示MP3文件的音乐总长度。
注:显示格式为XX:XX
功能:播放列表中的下一曲
MP3ListLoad("path")
功能:从外部文件装入一个MP3列表
MP3ListPlay("")
功能:按内部列表顺序播放MP3文件
MP3ListPrev()
功能:播放列表中的上一曲
MP3ListReset()
功能:从内部MP3列表中删除所有项目
MP3ListRND()
功能:随机排列当前的内部列表
SearchForMP3("path")
功能:在指定的路径搜索MP3文件并全部添加到播放列表
MatrixSet("matrix object[column,row]","image index (0...3)")
功能:定义矩阵图像某一行列坐标的图像索引值
说明:matrix object – 矩阵图像标签名; colume,row -- 行列坐标;image index – 图像
索引值(0-3)
注:图像索引值为0表示不显示图像;行或列坐标值为0表示操作整个行或列;行列值均
为0表示操作整个矩阵图像
MatrixGet("matrix object[column,row]","variable")
功能:将一个变量放置到图像矩阵的某一行列坐标,变量值会对应该坐标的图像索引值变化
而变化。
MP3播放器自己做
李军
看过前面介绍的MP3制作方法,有没有想过再自己动手制作一个MP3播放器呢?别以为MP3播放器只有那些高手
通过编程的手段才能实现,实际上,无需编程也能制作出相当专业的MP3播放器来。秘密就在于——Multimedia Builder
V4.8。它的下载地址是/ Multimedia ,下载文件大小为5722KB。我们来看看如何用它
制作一个漂亮的MP3播放器。
启动Multimedia Builder V4.8,程序会自动建立一个新项目,执行“Project/General Setting”命令,打开项目设置窗口
(如图1),设置Window对话框的宽度为300、高度为100(单位为像素,即生成后的MP3播放器界面尺寸)。在“Window”
后面的文本框中输入文本,如“我的MP3播放器!”作为播放器的页面名称,然后将“Standard Window”前的复选框清除,
再选择“Movable”选项,使界面窗口可以移动。接下来在“Palette”选项中选择“Graphic MMB”,单击“OK”返回到主界面。
图1
执行“Page/Properties”命令,打开页面参数设置窗口(如图2),在Color后面的选项卡中设置页面背景颜色,完成后
单击“OK”按钮返回主界面。
图2
在工具箱中选取“Fill Retangle”工具,并在播放器中画出一个矩形区域,然后双击此区域,在打开的对话框中设置Fill
(填充色),Border(边框色),同时在后面的列表框中选择线型为SunKen,然后按“OK”按钮返回,一个有立体感的显
示窗口制作完成。
点击工具栏的插入工具按钮,在打开的下拉菜单中选择“Insert MP3 Control”命令,这样就可以在页面中插入一组播
放器控制按钮了,同时还会自动添加一个“总时间显示”和“播放时间显示”文本提示标签,用鼠标可将该标签移动到合适
的位置。
现在为播放器添加MP3歌曲的提示信息,选取工具栏的文本工具(Text),然后在显示器上画出一个矩形区域,双击
此文本区域打开“Text Properties”文本属性窗口(如图3),在文本区域输入“名称:”,然后单击“Font”按钮,在打开的字体
对话框中设定字体,如“宋体、9号字”。
图3
然后在刚才插入的文本后,新插入一个文本标签,在“Text Properties”文本属性窗口中,清除文本区文字,再点击
“Label”右侧的箭头,在弹出的菜单中选择“CBK_MP3Name”,并按“OK”按钮返回。同样道理,还可以添加更多的文本标
签,并设置更多的提示显示信息。“Label”选项中几个常用标签选项的含义为:
CBK_Totals:歌曲的总时长
CBK_Time:当前播放的时间
CBK_MP3Type:歌曲的类型
CBK_MP3Bit:位速率
CBK_MP3Freq:采样率
CBK_Channels:控制类型
完成提示信息设置后,开始制作音量控制按钮。首先在工具栏选择“Text Button”工具,然后在界面上添加一个命令
按钮,双击此按钮,在打开的对话框中设置显示文字为“增加音量”,然后单击“Action”栏中的“More Actions”按钮,在打
开的对话框中单击“Start Clicking(Mouse Down)”中的 “Wizard”按钮,然后在弹出的“Scrip Wizard”窗口中设定“Action”
值为“VolumeUP( )”。按“OK”按钮返回后,用同样的方法制作一个“降低音量”的按钮,设定“Action”的值为
“VolumeDown()”。
我们现在为播放器加入支持MP3文件播放列表功能。添加一个按钮,然后设定此按钮文字为“播放列表”,并在“More
Actions”的对话窗口中设定“The Click is Finished”的“Actions”值为“MP3ListEdit()”和“MP3ListPlay("0")” 。
完成按钮的设计后,下面来为播放器设计最大化和最小化按钮。在工具箱中选择矩形工具,并在窗口右上方画出一
个矩形区域,并双击此矩形区域,在打开的对话框中选择“Enable Action”选项,单击“External Commands and Page Actions”
按钮,在打开的对话框中(如图4),设置“On Mouse”事件为“Minimize”。同样我们还可以添加一个关闭按钮,并设置其
“On Mouse”事件为“Exit”。
图4
你也可以把自己的主页地址放在播放器的标题栏中,在标题栏添加一段文本,然后双击此文本,在打开的对话框的
文本输入区域中输入文字主页的名称,然后选择“Enable Action”选项,单击“External Commands and Page Actions”,设置
“On Mouse”事件为“Brow web”,在“Path”中输入相对应的网址即可(如图5)。
图5
现在,我们完成了一个MP3播放器的制作,最后执行“File/Compile”命令,将我们的工作编译成为一个EXE文件,
直接执行此可执行文件就可以使用我们亲手制作的MP3播放器了(如图6)。
图6
插件
插件是用MMB的SDK(软件开发工具包)开发的Windows的动态链接库。插件扩展了MMB的功能。
插件和其它的对象能表现得一样。这是针对开发者的部分。插件是用VC++和MMBSDK编译的。如果你是一些MMB
插件的用户,请参阅插件的文档。
注意:MMB插件是为MMB设计的动态链接库。其它像Photoshop的插件无法应用!
载入插件:菜单“对象”-插件-在工作区拖拽一个插件矩形框。
矩形框说明:插件(空的),双击它,从属性窗口你可以载入DLL。DLL可以是外部的或嵌入的。如果插件的DLL保
留在外部的与相同的目录里或插件的子目录里,你没有必要写。
载入DLL后,MMB会问你是否要使用嵌入的插件。如果选择“是”,插件会变成嵌入式的。
插件有自己的属性。如果是这种情况-插件的属性会被打开。
同样一些插件要求一个、两个或三个位图被载入-那么图象1...3会被打开。
MMB的插件在插件子目录里。缺省时这儿只有一个插件例子:
脚本动作:插件也可以有一个点击被赋值的脚本。用户在插件对象上点击鼠标,脚本就会运行。
一些插件(像标准的DLL)不要求任何MMB接口,它们像一个对象一样不显示任何东西。
例如DLL有它自己的独立的窗口,或DLL播放一些指定的声音格式等等。
对于这样的DLL或插件,有一些功能在脚本里:
PluginRun
PluginRun("PlugIn","GlobalVoidFunction")
载入的没有MMB界面的DLL就象一个插件,属性指明为未知界面,但你能一直运行一个全局的空函数。
更多的信息参阅SDK。第一个参数是载入插件对象。DLL不一定用SDK制作。
PluginSet("PlugIn","variable")
PluginSet("PlugIn","stringvariable$")
设置变量或字符串变量给插件的全局函数-DLL必须用SDK完成。
PluginGet("PlugIn","variable")
PluginGet("PlugIn","stringvariable$")
从插件中取得一个值或一个字符串。插件必须用SDK完成。
矩阵函数
MatrixSet("matrix object[column,row]","image index (0...3)")
设置图象矩阵条目的图象。
例如我们喜欢在位置2,3(2列,3行)上显示图象2。
矩阵对象有一个标签MyMatrix:
MatrixSet("MyMatrix[2,3]","2")
我们可以在矩阵里用0来告述MMB去设置所有的行或列的值,甚至所有的条目:
MatrixSet("MyMatrix[0,3]","2")
设置在行3,所有列是2的图象
MatrixSet("MyMatrix[5,0]","2")
设置在列5,所有行是2的图象
MatrixSet("MyMatrix[0,0]","2")
设置所有行和列是2的图象
MatrixGet("matrix object[column,row]","variable")
这个命令会把在位置(列,行)中的图象的指针放入变量中
看这个程序:
cur = 0
MatrixGet("MyMatrix[2,3]","cur")
if (cur = 1) then
MatrixSet("MyMatrix[2,3]","2")
end
当前的列和行
如果在矩阵对象上点击,将会很好地了解真正被你点击的行和列。
变量MXCOL和MXROW接收这些信息。
思考这两行里图象矩阵对象MyMatrix中的脚本:
MatrixSet("MyMatrix[0,0]","1")
MatrixSet("MyMatrix[MXCOL,MXROW]","2")
这两行是图象矩阵对象里做完全不同工作的脚本。
第一行设置所有条目到图象#1,第二行设置你点击的条目到图象#2。
变量MXCOL和MXROW在图象矩阵后面真是漂亮。
发布评论