用Authorware制作一个音乐播放器,控制音量大小的怎么做啊?

谢谢各位高手了,请详细说明一下吧

使用Authorware的一个外挂函数——Binapi.u32(可到www.ccidnet.com下载)可以很轻松地解决这个问题.1、启动Authorware 6.0,新建一个名为“音量调节程序”的文件;选择“Window→F
unctions”,打开Functions窗口,单击选择窗口中Category下的“音量调节程序.a6p”,再单击窗口下方的“Load…”选择Binapi.u32弹出函数列表,按住Ctrl键选择BNA_GetVolume、BNA_SetVolume,单击Load导入本例所需要的函数。

2、拖一个显示图标至流程线,取名为:音量面板;双击打开导入图片作为音量面板,选中该图标,单击鼠标右键,选择“Caculation…”,在出现的窗口中输入以下语句:

Movable:=FALSE——设置该图标在运行后不可移动。

m:=0

a:=1

关闭的时候连续单击OK即可。

图1滑块与音量面板

3、再次拖一个显示图标至流程线,取名为:“音量滑块”;双击打开导入图片作为滑块,此时滑块与音量面板的位置如图1所示(注意两者在不同的图标中);选中滑块,按Ctrl+I键打开Properties对话框(如图2),单击Layout设置滑块的上下移动距离,其中滑块的Base位置为面板的下部分,End为面板的上部分,在Initial中输入yl。

4、拖一个声音图标至流程线,双击打开导入所需要的声音文件;单击Timing选项,将Concurrency设为“Concurrent”,Play设为“Until True”、并在下面输入“a:=0”,最后单击OK即可。

图2设置Properties的各项参数

5、拖一个交互图标至流程线,再在旁边放置一个群组图标,选择Hot Spot,并将响应区域与音量面板的静音部分重合,单击OK,将群组图标取名为“声音关”,双击上面的小虚线方框打开“Properties:Response”属性框,选中Hot Spot下“Highlight on Match”,再选中Response下的“Perpetual”,在Active If中输入“m=0”,Branch设为“Return”,单击OK,最后为该群组图标加上语句:m:=1(具体方法可参照第2步);在旁边再放置一个群组图标,取名为“声音开”,响应区域也与音量面板的静音部分重合,在Active If中输入:“m:=1”,其余与群组图标“声音开”的属性相同,为该群组图标加上语句:“m:=0”。

6、双击打开“声音关”群组图标,放置一个计算图标,输入“a:=0”,在计算图标下面放置一个显示图标,在显示图标中画一个小勾图形,小勾的位置与音量面板的静音部分重合;双击打开“声音开”群组图标,放置一个计算图标,在其中输入:

a:=1

GoTo(IconID@"音量面板")

7、在“声音开”群组图标旁边放置一个计算图标,双击上面的小虚线方框打开“Properties:Response”属性框,选择Type下的“Conditional”,单击Response,不选择Scope下“Perpetual”,Branch设为“Try Again”;单击Conditional,在Condition中输入:“Dragging@"音量滑块"”,Automatic设为“When True”,最后单击OK;双击打开计算图标,在其中输入如下语句:

yl:= INT(PathPosition@"音量滑块")——获取滑块的位置数值

BNA_SetVolume(1,yl)——将滑块的位置数值作为音量的数值,从而控制音量的大小。

图3本次所需流程图

8、按Ctrl+R键运行程序,可以发现音乐开始播放,当滑块上下拖动时,音量的大小随着改变(本例流程图如图3);美中不足的是第一次运行会弹出函数的来源地网址,不过不会影响使用,而且接着重新运行就不会出现啦。

参考资料:http://tech.sina.com.cn/c/2002-04-09/12448.html

温馨提示:答案为网友推荐,仅供参考