主题:  人都死啦?!

flexcat

职务:普通成员
等级:1
金币:0.0
发贴:76
注册:2001/2/21 16:02:55
#12001/3/9 11:13:13
再次急!!怎样做一个背景音乐选单,外加声音开关的做法是怎样的
我要下课了!



飘雪无痕

职务:普通成员
等级:2
金币:1.0
发贴:514
注册:2000/11/8 14:55:33
#22001/3/9 14:45:35
告示你一个笨办法:用几个按钮,一个按钮控制一个声音,将它们排起来(这就是音乐选择菜单),再加一个停止按钮即可。至于函数:就用AW的内部函数Mediaplay(iconid@"icontitle")和Mediapause(iconid@"icontitle")。试试吧。



HyperBIN

职务:普通成员
等级:1
金币:1.0
发贴:194
注册:2001/2/7 11:17:24
#32001/3/9 16:15:16
我建议这样做:
1、利用Keypress交互,设置为永久交互;
2、每个背景音乐利用0-9来选择;
3、声音开关的源程序如下:
if playsound=0 then
MediaPause(IconID@"声音图标", true)
playsound=1
else
MediaPause(IconID@"声音图标", false)
playsound=0
end if



52domedia

职务:普通成员
等级:2
金币:10.0
发贴:352
注册:2000/12/15 18:50:50
#42001/3/9 21:42:46
>>关于“SyncSound.u32”<<

  下载完毕后,请将其释放到Authorware文件夹下,调入“SyncSound.u32”之后,我们会发现其中的函数并不多,使用起来一点也不复杂,下面就对其中的函数作简要的说明:

(1)、num := GetSyncChannelNum()

获得DirectSound通道数,这个UCD是通过调用DirectSound函数来实现的,一般来说,安装了windows95/97/98系统的都支持“DirectSound”。

(2)、result := SyncInit(WindowHandle)

初始化DirectSound函数,成功则返回值为0,失败则返回值为-1

(3)、result := SyncLoad(Wave文件名,通道号)

向指定的通道加载WAV声音文件,范围是0至GetSyncChannelNum()的返回值减1,加载成功则返回值为0,失败则返回值为-1,缓冲区分配失败返回值为-2;

(4)、SyncPlay(通道号,循环,重新开始)

当循环为0时,表示只播放一遍,为1则循环播放;当重新开始为1时则从头开始播放,为0时则表示接着播放。

(5)、SyncStop(通道号)

停止播放DirectSound通道。通道号的范围是0至GetSyncChannelNum的返回值减1,且应当已经成功载入文件。

〖注〗:

①、如果不用此函数停止各个通道上的文件播放,这些文件就会一直播放直到播放完为止;

②、由于此程序仅支持PCM格式的WAV的文件,不支持ADDPCM格式,这一点大家请注意,好在一般的WAV文件都是PCM格式。

下载此东东请登录小站http://www.52domedia.com/



shadowgirl

职务:普通成员
等级:1
金币:0.0
发贴:113
注册:2001/1/9 15:02:55
#52001/3/22 13:27:06
一头雾水:(~~~~~~~~~~~~~~~~~~~~~~~~~```````````````