论坛's Archiver

蜡笔 发表于 2008-3-16 13:52

利用Authorware 6.0同时播放多路声音

在多媒体作品中,有时需要同时播放多路声音,以满足作品的不同需求,这里我们以三路声音的同时播放为例,给大家介绍这一多媒体技巧。

  运行Authorware 6.0,将此文件存为“同时播放多路声音.a6p”,单击Windows菜单下的Functions子菜单,弹出“Functions”对话框,选择Category下拉菜单中的“同时播放多路声音.a6p”选项,单击“Load”按钮,在Authorware 6.0安装目录下找到SyncSound.u32文件,单击“打开”按钮,在弹出的对话框中选择其中的五个函数,单击“Load”按钮,将这五个函数加载到该文件中,单击“Done”按钮。
[align=center][img]http://www.jcwcn.com/Files/BeyondPic/jcwcj/2005-12/8/0512801015188877.jpg[/img]
图1 [/align]  其次,建立如图1所示的流程图,在“调用句柄”图标中输入代码:

  result:=SyncInit(WindowHandle)


  在“第一路声音”图标中输入代码:

  SyncLoad("1.wav",0)

  SyncPlay(0,0,0)

  在“第二路声音”图标中输入代码:

  SyncLoad("2.wav",0)

  SyncPlay(1,0,0)

  在“第三路声音”图标中输入代码:

  SyncLoad("3.wav",0)

  SyncPlay(2,0,0)

  在“停止”图标中输入代码:

  If GetSyncChannelNum( )>2 then

  SyncStop(2)

  If GetSyncChannelNum( )>1 then

  SyncStop(1)

  If GetSyncChannelNum( )>0 then

  SyncStop(0)

  End If

  End If

  End If

  提示:多媒体开发者要通过GetSyncChannelNum ()函数来确定支持几个通道,这将是最多支持的声道数,同时SyncLoad()、SyncPlay()和SyncStop()函数中的通道号的范围是0至GetSyncChannelNum的返回值减1。

[align=center][img]http://www.jcwcn.com/Files/BeyondPic/jcwcj/2005-12/8/0512801015110657.jpg[/img]
图2[/align][align=left]  最后保存文件,直接运行即可实现同时播放多路声音,如图2所示。[/align]

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.