主题:  整理的有关声音的所有帖子

lvzhiguo

职务:普通成员
等级:1
金币:1.0
发贴:136
#12002/5/27 13:49:07
请大家看看可有遗漏的主题

问:请问在aw中怎么实现两个声音同时播放?
答:用声音设计图标无法办到可以用quicktime xtra或directmediaxtra来播声音文件,可以同时播放多段声音。(Y)
答:用Windows Media Player控件也可以实现(远方)
答:如果一个声音是WAV,一个是MIDI就很简单了,WAV声音用图表放,MIDI用MIDILOOP放,这样两个声音也不会相互
影响!(虚竹)

1、问:如何实现声音同步问题
答:先拖一个声音图标到流程线上,然后再拖一个显示图标到声音图标的右边就可以了

问:我看到一个英语课件,朗读文章时,随着声音的播出,相应的文字也改变颜色。在authorware中能做吗,应该如何操作?
答:可以这样:
做一个白颜色文本,然后在其上面覆盖一个红颜色的文本(选择适当的出场效果),当声音播放的时候,红颜色文本就随着出场。
不过这样做有时候很难控制其同步,谁有做过更好的方法?(5d版主rock)
声音与文字的同步,最好用Flash来实现,然后再导入到AW中。(飞翔2000)
试试先显示这段英文,到了哪个声音图标,就在这个声音图标右边挂一个显示图标, 用其他颜色的这句英文覆盖。
(小菜鸟)
用SoundPlaying变量来控制,当SoundPlaying的值为真时,即有声音播放时,文本颜色就改变了(网虾)
红色文本可以用横向展开的过渡,同时过渡效果持续时间由朗读声音的长度medialength来决定(5d版主Y)
其实用meadiaplay控件比较方便,可以通过一个队列记录每句话的断点位置。因此可以利用列表中前后两个断点的差来控制过渡时
间,如果控制的句子短,那么感觉是对句子的同步,因而比较容易控制(skcyh)

问:播放midi的函数
答:有a5wmme.u32及midiloop.u32;在函数对话框里,单击LOAD按钮加载函数。
用midiloop.u32这个文件调用midi。
在计算图标中输入:loopmidi(filelocation^"\\*.mid")
就可以调用midi声音文件了。
停止可用stopmide()
中途停止可以用midipause或midistop(lvzhiguo)
答:用A5WMME.U32或A4WMME.U32中的midiplay()吧
在计算图标中写入:
MIDIPlay(fileName, tempo, wait)
其中:
filename 为路径及midi的名字。如"d:\1mid"
tempo 为播放速度,一般为100
wait 为播放属性ture表示等播放完midi再向下
执行,false为同时执行下面程序
(aw爱好者liuwei6441 )

问:我想用aw6做一个mtv的效果,要求是声音与文字同步,请问如何才能做到?(fthboy88)
答:AW6中声音图标可以设置声音和文字的同步(金色太阳鸟)
答:AW跟机子配置有很大关系,所以做同步几乎不可能!(双子旋风)
答:解剖一下这个范例吧:Avsync.a6p,它就在Authorware安装目录下的Showme目录里。声音同步、视频同步全能解决。
(aw先生)
答:在6.0版本中新增了声音图像文字同步的功能,可是在视频播放到某一时间显示什么样的文字,看看showme中自带的范例
就明白了,就是上面朋友说的那个范例(冷血)
答:Avsync.a6p这个范例很容易看懂。你只需打开该例中的群组(Map)图标Sync on Time看一看,其它的一概不看。声音同步
的技巧全在其中。时钟标志用来设置时间等三个选项。最后,在声音图标中导入歌曲,在每一个显示图标中放一句歌词。显示图
标不够的话,自己加。这样,一个简单的MTV就搞定了。当然,要做复杂一些的MTV就要再动动脑筋啦。(aw先生)

问:在Authorware中能不能在程序运行的任意时刻控制声音的暂停、播放,或者音量的淡入淡出?(zdm)
答:可以看张力的新书《深入用Authorware制作多媒体课件》,有详细论述和源程序。
高等教育出版社出版。(ohohoh)
答:任意时刻停止和播放可以用binapi.u32里的setmute实现!(宇风版主寒冰)
答:QuickTime xtra可以,用它的Script控制sprite(Icon)的属性。
(5d版主Y)

问:主版面设计为热区响应,想已进入主版面时音乐响起,进入交互后音乐停止,交互分支回到主版面后又响起音乐应用什么
函数?怎么用?
答:在主版面里放一个计算图标内容为:Sound:=False,
在交互里放一个计算图标内容为:Sound:=TRUE
声音图标的Play选择until true,并在下面输入:sound=true。在Begin处输入sound=false。
答:这个很好解决,有2个外部函数就可以了,是放在loopmidi.u32中,一个为放,一个为停.把函数放在响应的
位置就可以了(hzwdl)

问:如何解决关于用DirectMediaXtra的时候不能同时播放几个mp3的问题
答:Y兄开始的时候说得没错,的确是DirectX没有装全,大家可以用Dxdiag检测工具检测一下你的DirectX是不是少了些相关的Dll
,我的就是这种情况,用了Dxdiag检测之后,发现少了DirectMedia类型的几个Dll文件,后来我重新装了Dx7的Dxmedia包,问题就
解决了,好几台机器上面DMX同样的问题都解决了,大家不妨试一下。
至于关于声卡驱动的,当然驱动要装好,呵呵不然怎么用,还有就是现在的声卡应该都支持DirectX的:(macros)
答:我遇到的几个DirectX安装不完全的例子也是DirectMedia方面的问题对于系统资源占用率这点,DMX做得很好,大家不用担心。
我曾在PII 333、64M RAM、普通显卡和声卡的配置上测试过同时用DMX播放两段MP3(44KHZ,16Bit,双声道),一段MPEG4(400*300
,32位色),没有任何延迟现象。这个配置目前算是很普通吧?
对于DMX所需的软件环境:就象IE一样,DirectX目前已经是Windows的标准配置,想必在不久的将来,我们不需向用户额外提供DirectX。
(5D版主Y)

问:WAV停止不用外部函数,怎么办?
答:下个源程序http://sq.k12.com.cn/~ruanjc/Authorware/ycx/sound.zip(远方)
答:Mediapause(@"icon",pause)(寒冰)
答:放一个很短或无声的声音图标在下面(yczrk)
答:在声音图标内设置play项为until true,设一变量如a,设置变量的初始值为0
在下面的框内设置为a=1当你需要使声音停止时,就在相应位置设置a=1即可(chp1)

问:用什么函数让声音失效???
答:利用aw中不能同时播放两个wav文件。并且在声音图标的设置中有一项等待前一个声音,首先保证这个选项不被选中。然后用录音机
等任意一种录音软件录一个极短的无声(静音)的wav文件,并将这个文件导入这个声音图标。
给这个声音图标设置一个按钮响应。当想要停止所有声音时,只要按一下这个按钮播放一下这个无声的声音文件即可实现静音功能。(qyg)
答:binapi.u32
SetMute(int type,int switch)
设置静音.type为0:主音量,1:WAVE,2:MIDI.switch为1:关闭音量,0:打开音量.
返回值:0-失败,1-成功
直接调用WINDOWS音频模块对声卡进行控制!
(skcyh)

问:为何用电影图标导入mpg文件一个有声音、另一个又没有声音。(吴建云)
答:将options: Audio ON或者用DMX, 你可以随意控制(一辉)
答:在Windows2000下,在Authorware 6的两个电影图标中同时播放两个mpg文件,都有声音。而在Windows98下就不行,甚至
两个声音(第一声音图标设为同时concurrent)也不行。两个电影要错开些,才能都看见(aw先生)

问:如何实现WavePlaying()函数反复播放
答:waveplay()的用法
result := WavePlaying()
当声音正在播放则返回true,否则返回false (冷血)
答:(一)首先将a5wmme.u32中要用到waveplay()和WavePlaying()两个函数加载到当前Authorware文件中,并保存文件。
(二)假设当前保存文件目录下有一声音文件w.wav。
在流线上放一计算图标,输入代码:
WavePlay(FileLocation^"w.wav")
(三)在流线下面加一个交互图标,再设置一个条件分支,分支用计算图标,条件为:
(Sec=Sec)&~WavePlaying()
分支response选项卡属性设置:
Scoperpetual
Branch:Return
(三)在分支下的计算图标中输入:
WavePlay(FileLocation^"w.wav")
本程序改进后,也可做成随机选不同的曲目播放。(aw先生)

问:如何在界面上设置一个声音控制开关,让我在课件演示任何时候都能控制它的播放和停止(快活林 )
答:如果用函数,可用a4wmme.u32中的waveplay和wavestop控制。函数只能控制外部声音文件。如waveplay("c:\1.wav"),停
止直接用wavestop()即可。(midia)
答:可以考虑设置静音(小邓)
答:可以试试用Windows Media Player控件。暂停使用语句:CallSprite(@"wmp",#pause);播放使用CallSprite(@"wmp",#play)。
我在WindowsXP下使用可以播放MP3和WMA。

问:怎样把鼠标放在热区上有声音? 以前我把声音放在交互下,选择Cursor in Area就可以了。在在AW6.0下就不行了,请教。
(东亚)
答:我想,不是不行了,我也遇到过这种情况,可能是你在热区响应中,使用了永久响应和普通响应混用,可能会出现这种情况。
(sapphire)

问:AW中FLASH的声音和动画为什么不同步呢(04)
答:机器速度慢的话容易产生那样的问题,不过你可以在Flash中把声音设置为和画面同步(设置为流式)。 (寒冰)
答:flash中的声音有个选项Aysc(好象是这个记得不准),设为Stream可能会好些(小邓)
答:用ActiveX控件或者用Xtras播放时用直接写屏(direct to screen)效果会有所改善。(syzy )

问:在authorware中怎么用一个按钮来控制声音的播放和暂停 (flyskymouse)
答:if waveplaying then
WAVEPAUSE()
else
WAVERESUME()
end if
(小虾米)
答:如果你使用a5wmme.u32
可以在计算图标中设置如下代码
if sound=0 then
wavepause()
sound=1
else
waveplaying()
sound=0
end if
(sapphire )
答:做一个按扭,里面做一个判定,然后再用movepause()做两个分支就可以了(alton)
答:给一篇文章给你。你看看,文章已发表于电脑教育报
www.ntcai.ntsun.com/minicai/anniu.htm
(金色太阳鸟)
(由于此文金色太阳鸟不同意转载,特只给出链接)
答:musicplay用来播放音乐,wav、midi、mp3都可以。
判断图标中用于判断音乐是否正在播放:wav:=WavePlaying()
if wav=FALSE then GoTo(IconID@"play")
pause图标用来停止音乐:WavePause()
GoTo(IconID@"空")
play图标用来播放音乐:WavePlay("Liangzh3.wav", FALSE)
在其后放一空的群组图标起辅助作用。(qfzw)
答:(一)首先将a5wmme.u32中要用到waveplay()和WavePlaying()两个函数加载到当前Authorware文件中,并保存文件。
(二)假设当前保存文件目录下有一声音文件w.wav。
在流线上放一计算图标,输入代码:
WavePlay(FileLocation^"w.wav")
(三)在流线下面加一个交互图标,再设置一个条件分支,分支用计算图标,条件为:
Sec&~WavePlaying()
分支response选项卡属性设置:
Scope:Perrpetual
Branch:Return
(四)在分支下的计算图标中输入:
WavePlay(FileLocation^"w.wav")
(五)开关
用WavePause()暂停播放;
用WaveResume()继续播放。
本程序改进后,也可做成随机或手工选不同的曲目播放。 (SirAW )
答:例子下载
211.91.108.138/aw5/down/download.asp?Did=156(小平头)

问:我在课件中以internal内嵌形式import了许多图片声音素材,如何将其导出?(findme)
答:图片用抓屏软件抓,声音用录音软件内录(lvzhiguo)
答:如果说在源程序中导出素材?直接用File>Export Media...(和风细雨)

问:如何不中断的播放WAV声音文件(东亚)
答:从主解面进入框架图标,声音不会停止阿。
你看看这几个函数,对你有帮助
waveplay(fileName, wait)
wavepause()
WaveResume()
他们都是在A5wmme.u32中(冷血)

问:如何用单键控制dmx声音的播放,暂停,和从头播放 (zzwzx7039)
答:CallSprite(@"DirectMedia Xtra", #videoplay) //媒体播放
CallSprite(@"DirectMedia Xtra", #videopause) //暂停播放
答:CallSprite(@"DirectMedia Xtra", #videoseek,0) //继续播放 (冷血)
问:声音图标中有一个play until ture可以加入变量 但是dmx中怎么来用变量呢 (zzwzx7039)
答:在按钮下面放入一个计算图标
--------------------------
if t=1 then
CallSprite(@"DirectMedia Xtra", #videopause)
t:=~1
else
CallSprite(@"DirectMedia Xtra", #videoseek,0)
t:=1
end if
---------------------------------
t的初始值设为1就行了
这样一个按钮就有两个功能了,你可以交互中放入图片,不用按钮交互而用热区交互,用图片替换来达到一钮双功能
(冷血)
问:用一个按钮的话,可能不能实现dmx的开关功能了,是吗?(zzwzx7039)
答:一个按钮也可以,但是显示上,你要是先后显示暂停和继续阿,这怎么再一个按钮上体现我还不知道。用热区是
为了更明显的现实按钮的意思,用图片好一些(冷血)

问:DirectMedia Xtra?用户指南
答:(菲雨咸丸 )DirectMedia Xtra?是一种Sprite Xtra?。Sprite Xtra?可以用计算图标进行控制,而且属性也可以
通过脚本指定,就像Authorware中的内置媒体文件一样。
如果回放的系统允许,DirectMedia Xtra?还支持Microsoft’s DirectDraw? and DirectSound?。它总能够根据机器的
不同选择最佳的播放效果,即使显示设置为256色,也能使用高彩色来播放媒体文件。DirectDraw?引擎利用直接写显存
的技术增强回放效果。
要建立一个图标,打开INSERT菜单,选择TABULEIRO XTRAS -> DirectMedia Xtra,这时会显示一个DirectMedia Xtra?
属性对话框,单击browse file,打开另一个对话框,提示你选择一个媒体文件。它所支持的媒体类型有Mpeg, AVI,
Quicktime?, WAV, AIF, MP2 和MIDI。文件可以在本地机器,也可以在局域网上其他计算机上,甚至可以用输入URL
链接一个互联网上的文件。选好文件,点击OK,返回属性对话框,文件的长度(时间),尺寸等信息应能正确的显示出来。
你可以预览文件,标注提示点并设置播放选项(工具条,音量,速率,平衡等等),单击OK完成。在流程线上就出现一个
名为DirectMedia Xtra的图标,可以重新调整播放的位置和尺寸。
提示点
每一个DirectMedia Xtra可以有最多64个提示点,以毫秒位单位,每一个提示点的名字最多可以使用32个字符。要建立一个
提示点就要在属性对话框中预览文件时确定时间,然后选择“ADD”,显示一个窗口定义提示点的名字。如果以后想修改提示
点,在列表中双击名字就可以直接编辑了。使用"GOTO"检查提示点的定位,"REMOVE"用来删除一个提示点。
用脚本建立提示点
CallIcon(@"IconName", #addcuepoint, cuepointtime, "cuepointname") - 这个函数建立一个新的提示点,cuepointtime
是时间 cuepointname是名字,自动排列顺序。
Example:
CallIcon(@"DirectMedia Xtra", #addcuepoint, 10000, "newcue")
CallIcon(@"IconName", #removecuepoint, cuepointindex) - 删除一个提示点,需要指定提示点的序号。
Example:
CallIcon(@"DirectMedia Xtra", #removecuepoint, 1)
使用提示点
DirectMedia Xtra? 的提示点被用来在回放时几个方面的控制。下面是它的几个属性:
isPastCuePoint(sprite) ---à经过的提示点
the mostRecentCuePoint of sprite ---à最近的提示点
the cuepointtimes of icon ----à指定提示点的时间
the cuepointnames of icon ----à指定提示点的名字
当媒体文件播放时,你必须设置一个事件响应以获取提示点,请参考所附带的例子程序。主要步骤是:建立一个“Event”类型
的响应,在属性对话框中选择一个“Sender”图标名,再双击“Event Name”框中的“CuePointPassed”事件。这样,每当经过
一个新的提示点,就触发这个响应。后面将要介绍的EventLastMatched变量会让你更多地了解这个事件。
Properties 属性
DirectMedia Xtra?所有的属性都可以很方便地在属性对话框中进行设置,这个对话框在你创建图标或者双击该图标时出现。
同时,也可以通过脚本进行设置。
Icon Properties 图标属性
file ---被使用的媒体文件的全路径名
例如: result:=GetIconProperty(@"DirectMedia Xtra", #file)
Trace(result)
--“C:\myfile\file.mpg”
SetIconProperty(@"DirectMedia Xtra", #file,”C:\myfile2.mpg”)
title ---媒体文件名,不带路径。这个属性用于在原目录找不到文件的时候。
例如: result:=GetIconProperty(@"DirectMedia Xtra", #title)
Trace(result)
--“file.mpg”
注:基于HTTP的文件链接,DMX不会在启动时自动定位。
showlocatefiledialog --- DirectMedia Xtra在运行时会自动定位媒体文件,如果文件没有找到,使用这个属性可以显示一个
指定文件的对话框,否则,就是一片空白。
例如: SetIconProperty(@"DirectMedia Xtra", #showlocatefiledialog,TRUE)
linkedmedialocated --- 这个属性可以自动设置,用来表明媒体文件是否被正确调用。如果属性的值为False,DirectMedia Xtra
就不会进行初始化播放。
例如: result:=GetIconProperty(@"DirectMedia Xtra", #linkedmedialocated)
Trace(result)
--“1”
duration --- 媒体文件的持续播放的时间,单位为毫秒。
例如: result:=GetIconProperty(@"DirectMedia Xtra", #duration)
Trace(result)
-- 45200
videowidth --- 媒体文件的播放宽度,单位为像素。
例如: result:=GetIconProperty(@"DirectMedia Xtra", #videowidth)
Trace(result)
-- 352
videoheight ---媒体文件的播放高度,单位为像素
例如: result:=GetIconProperty(@"DirectMedia Xtra", #videoheight)
Trace(result)
-- 240
volume --- 回放音频的音量。值的范围从-100到0(dB即分贝)
例如: result:=GetIconProperty(@"DirectMedia Xtra", #volume)
Trace(result)
-- -10
SetIconProperty(@"DirectMedia Xtra", #volume,0)
balance --- 音频回放平衡,值的范围从-100到100(dB即分贝)
例如: result:=GetIconProperty(@"DirectMedia Xtra", #balance)
Trace(result)
-- -100
SetIconProperty(@"DirectMedia Xtra", #balance,0)
rate --- 回放速率。值的范围从0到200,是原来标准播放速度的百分比例。
例如: result:=GetIconProperty(@"DirectMedia Xtra", #rate)
Trace(result)
-- 100
SetIconProperty(@"DirectMedia Xtra", #rate,80)
cpuboost --- 由于DirectShow?技术要占用比较多的CPU时间,因此DirectMedia Xtra?会使Authorware?的运行变慢。如果你
遇到回放缓慢或者断续的情况,可以使用这个属性设置。合法的取值范围是0到95(百分比),一般来说,超过60就可以解决问题了。
例如: SetIconProperty(@"DirectMedia Xtra", #cpuboost,60)

adjustdurationbeforeplayback --- 如果这项属性的值为真,DirectMedia Xtra?就会在开始播放的同时确定媒体文件的可
持续播放时间。这是十分必要的,因为对于同一个文件,不同的DirectShow过滤器会报告不同的可持续播放时间。这样一来,
当你把一个成品放到另一台机器运行的时候,DirectMedia Xtra?就有可能无法达到指定的提示点,或者它会认为文件还没有
播放完。使用这个属性可以保证正常播放,因此你应该在大多数情况下都使用。
例如: SetIconProperty(@"DirectMedia Xtra", #adjustdurationbeforeplayback,1)

hastoolbar --- 指出是否在播放窗口附带一个工具条。值为0(假)或1(真)。
例如: SetIconProperty(@"DirectMedia Xtra", #hastoolbar,1)

loop --- 指出是否自动循环播放文件。值为0(假)或1(真)。
例如: SetIconProperty(@"DirectMedia Xtra", #loop,1)

playsegment --- 指出是否只播放文件的一个片断。值为0(假)或1(真)。
例如: SetIconProperty(@"DirectMedia Xtra", #playsegment,1)

segmentstart --- 指定文件播放的起始时间,单位是毫秒。只在playsegment的值为真时有效。
例如: SetIconProperty(@"DirectMedia Xtra", #segmentstart,10700)

segmentend ---指定文件播放的结束时间,单位是毫秒。只在playsegment的值为真时有效。
例如: SetIconProperty(@"DirectMedia Xtra", #segmentend,45800)

pausedatstart --- 指出是否在打开文件的时候暂停,不播放。值为0(假)或1(真)。
例如: SetIconProperty(@"DirectMedia Xtra", #pausedatstart,1)

cuepointtimes --- 与该图标有关的提示点时间的列表。
例如: result:=GetIconProperty(@"DirectMedia Xtra", #cuepointtimes)
Trace(result)
-- [4500,12300,34650,67321]
cuepointnames ---与该图标有关的提示点名字的列表
例如: result:=GetIconProperty(@"DirectMedia Xtra", #cuepointnames)
Trace(result)
-- ["Cue 1","NewCuePoint","Start Point","Second part"]
Sprite 属性
currenttime --- 媒体文件当前播放位置,单位是毫秒。
例如: result:=GetSpriteProperty(@"DirectMedia Xtra", #currenttime)
Trace(result)
-- 22345
mediabusy --- 表明媒体文件是否正在播放。值为0(假)或1(真)。
例如: result:=GetSpriteProperty(@"DirectMedia Xtra", #mediabusy)
Trace(result)
-- 1
mostrecentcuepoint --- 最后经过的提示点的序号。
例如: result:=GetSpriteProperty(@"DirectMedia Xtra", #mostrecentcuepoint)
Trace(result)
-- 2
Functions --- 函数
DirectMedia Xtra? 提供了几种函数功能,可以用脚本的方式使用来控制媒体文件的回放。
Icon Functions --- 图标函数
CallIcon(@"IconName", #isDirectShowInstalled) --- 返回0(假)或1(真)。用来判断用户机上是否安装了DirectShow?。
在正式版中有效。
例如: result:=CallIcon(@"DirectMedia Xtra", #isDirectShowInstalled)
Trace(result)
-- 1
CallIcon(@"IconName", #addcuepoint, cuepointtime, "cuepointname") --- 这个函数可以通过脚本语言建立一个新的提示点
,提示点会自动排列顺序。
例如: CallIcon(@"DirectMedia Xtra", #addcuepoint, 10000, "newcue")
CallIcon(@"IconName", #removecuepoint, cuepointindex) --- 这个函数可以把你指定序号的提示点删除。
例如: CallIcon(@"DirectMedia Xtra", #removecuepoint, 1)
CallIcon(@"IconName", #scanfile) --- 当通过脚本语言改变要播放的媒体文件时,这个函数可以确定文件长度和可持续播放
时间。它将自动查询文件并改变自身属性。Adjustdurationbeforeplayback也可以用来校对播放时间,我们建议使用这个属性
来代替scanfile(),因为它更准确。
例如: CallIcon(@"DirectMedia Xtra", #scanfile)
CallIcon(@"IconName", #register, registration number) --- 在运行时对DirectMedia Xtra?进行注册。这个函数不常用。
例如: CallIcon(@"DirectMedia Xtra", #register,"SERIALNUMBERHERE”)
Sprite 函数
CallSprite(@"IconName", #videoplay) --- 用于开始或是恢复播放媒体文件。通常在调用时会自动播放文件,除非选择了
"Paused at Start"(在开始时暂停)
例如: CallSprite(@"DirectMedia Xtra ", #videoplay)
CallSprite(@"IconName", #videopause) --- 暂停播放。
例如: CallSprite(@"DirectMedia Xtra ", #videopause)
CallSprite(@"IconName", #videoseek , time) --- 查找并暂停在指定的时间位置。时间单位是毫秒。
例如: CallSprite(@"DirectMedia Xtra ", #videoseek, 15000)
CallSprite(@"IconName", #videoplaysegment , starttime, endtime) --- 播放文件的一个片断。请注意这个选项实际上
限制了对片断以外其他部分的控制,因此应该再用另一个videoplaysegment()定位到其他的时间点上,跳出这个片断。
例如: CallSprite(@"DirectMedia Xtra ", #videoplaysegment, 10000, 20000)
-- the following command pauses the video in time location 30000
CallSprite(@"DirectMedia Xtra ", #videoplaysegment , 30000, 30000)
CallSprite(@"IconName", #isPastCuePoint , cuepointindex) --- 判断指定序号的提示点是否已经经过了。返回值为0(假)或1(真)。
例如: result:=CallSprite(@"DirectMedia Xtra ", #isPastCuePoint, 2)
Trace(result)
--- 1
CallSprite(@"IconName", #setvolume, volume) --- 设置音频回放的音量。赋值范围从-100到0(dB /分贝)。
例如: CallSprite(@"DirectMedia Xtra ", #setvolume , 0)
CallSprite(@"IconName", #getvolume) --- 返回当前音频播放的音量值,单位是dB /分贝。
例如: result:=CallSprite(@"DirectMedia Xtra ", #getvolume)
Trace(result)
-- -20
CallSprite(@"IconName", #setbalance, balance) --- 设置音频回放的平衡。赋值范围从-100到100(dB /分贝)。
例如: CallSprite(@"DirectMedia Xtra ", #setvolume , 0)
CallSprite(@"IconName", #getbalance) ---返回当前音频播放的平衡值,单位是dB /分贝。
例如: result:=CallSprite(@"DirectMedia Xtra ", #getbalance)
Trace(result)
-- -100
CallSprite(@"IconName", #setrate , rate) ---设置播放速率。赋值范围从0到200(%)
例如: CallSprite(@"DirectMedia Xtra ", #setrate , 80)
CallSprite(@"IconName", #getrate) --- 返回当前播放速率,百分比值。
例如: result:=CallSprite(@"DirectMedia Xtra ", #getrate)
Trace(result)
-- 100
CallSprite(@"IconName", #setfulscreen) --- 这个函数利用ActiveMovie/DirectShow实现全屏播放。它的全屏播放方式是完全独立的
,无论你的程序是否工作在全屏状态下。在此期间不响应鼠标和键盘事件,因此要利用提示点来返回程序,而且在结束时要使用一次
RemoveFullScreen()函数。
例如: CallSprite(@"DirectMedia Xtra ", #setfullscreen)
CallSprite(@"IconName", #removefulscreen) --- 停止ActiveMovie/DirectShow的全屏播放。返回到Authorware的展示窗口。
例如: CallSprite(@"DirectMedia Xtra ", #removefullscreen 1)
Creating Executables --- 建立可执行文件
DirectMedia Xtra? 只能运行在Windows? 95, 98 and Windows NT? 环境。因此,你应该建立Windows? 95 and Windows NT? 的可执行文件。
而且还要把DirectMediaXtra.x32文件放到XTRAS文件夹中,和你的可执行文件放在同一个目录下。
最终的文件结构应该像下面这样:
可执行文件 --- C:\myproj\proj.exe
Xtra 文件 --- C:\myproj\Xtras\DirectMediaXtra.x32
DirectMedia Xtra?会自动定位所有在同一目录下的相关媒体文件,或者在searchpath变量中指定的目录中的。但不会从HTTP服务器上查找
媒体文件


问:请教一下。我在AUTHORWARE中设置超文本链接时,用控件Windows Media Player为热区做一声
音效果,当鼠标移上时出现提示音,但同时出现一矩形框,如何不显示矩形框?(xiangsb )
答:简单的办法,把它拖到区域以外远远的就行了!(gangzi_fu )

问:能不能实现在一个声音里面只播放其中的某一段呢?即一个声音很长,我点击不同的热区或
按钮时,播放这声音里面不同的内容,即要动态读取不同的内容,请问这要怎么实现呢(AW_Fan )
答:当然可以,你用directormediaxtras,在其属性里面很容易解决(gangzi_fu)。
答:一般声音控制函数都有个设置segment的,那个就是播放某部分声音的! (寒冰)
答:A5wmme.u32中的wave控制函数就可以控制播放其中一部分。
可到我的主页上找到该U32的说明一个有点丑陋的主页:
dengchunzhi.home.chinaren.com (小邓)
答:我建议分割声音文件,用cooledit一点不麻烦。播放连贯的声音也没问题啊,要么你留着那个长声音文件,要么把小声音文件连起来播就是
了。这样做的效果要好,如果在光盘上调用大文件容易造成不流畅(soho一族 )

寒冰专题:有关Flash Xtra的控制函数!!!
有些朋友多次询问有关Flash Xtra的控制,这里我将最近我写的《Authorware 6.0实例精讲》一书中整理的有关Flash的控制函数贴出来,希望对大家有所帮助:


◆ 属性:#actionsEnabled
函数:SetIconProperty(@"IconTitle", #actionsEnabled, boolean)
SetSpriteProperty(@"IconTitle", #actionsEnabled, boolean)
说明:设置Flash动画中按钮的动作是否有效,参数boolean取值为TRUE时,Flash动画中按钮的动作有效,取值FALSE时无效。例如:
If Checked@"MyButton" then
SetSpriteProperty(@"Flash Icon", #actionsEnabled, True)
else
SetSpriteProperty(@"Flash Icon", #actionsEnabled, False)
end if
◆ 属性:#broadcastProps
函数:SetIconProperty(@"IconTitle", #broadcastProps, boolean)
说明:控制当对Sprite图标的属性有改动时,是否立即对Sprite图标的显示产生影响。当参数boolean取值为TRUE时,所有对Sprite图标属性的改动将立即体现在Sprite图标的显示上;当参数boolean取值为FALSE时,对Sprite图标属性的改动将不会立即体现在Sprite图标的显示上,而将体现在下一次执行此Sprite图标时。例如:
SetIconProperty(@"Flash Icon", #viewScale, 200)
SetIconProperty(@"Flash Icon", #broadcastProps, False)
◆ 属性:#bufferSize
函数:SetIconProperty(@"IconTitle", #bufferSize, integer)
说明:对于属性设置为链接的Flash动画,设置一次载入内存的数据流的字节数,参数integer只能取整数,默认值为32768。此函数只在Flash动画的预载入属性(# preload)为假时有效。例如:
SetIconProperty(@"Flash Icon", #preload, False)
SetIconProperty(@"Flash Icon", #bufferSize, 65536)
◆ 属性:#buttonsEnabled
函数:SetIconProperty(@"IconTitle", #buttonsEnabled, boolean)
SetSpriteProperty(@"IconTitle", #buttonsEnabled, boolean)
说明:控制Flash动画中的按钮是否有效,参数boolean的取值可以是TRUE或FALSE。例如:
If ButtonsOn then
SetSpriteProperty(@"Flash Icon", #actionsEnabled, True)
SetSpriteProperty(@"Flash Icon", #buttonsEnabled, True)
end if
注:If ButtonsOn then表示如果变量ButtonsOn为真。
◆ 属性:#bytesStreamed
函数:number:=GetIconProperty(@"IconTitle", #bytesStreamed)
说明:返回指定图标中Flash动画载入到内存的数据的字节数,返回值为整数。例如:
repeat while GetIconProperty(@"Flash Icon", #percentStreamed) < 100
CallIcon(@"Flash Icon", #stream)
Message:="Bytes streamed:"^GetIconProperty(@"Flash Icon",
#bytesStreamed)
end repeat
◆ 属性:#centerRegPoint
函数:SetIconProperty(@"IconTitle", #centerRegPoint, boolean)
说明:控制是否将Flash动画的定位点设置到Flash动画的中心位置,参数boolean的取值为TRUE时,即将Flash动画的定位点始终定在Flash动画的中心位置;参数boolean的取值为FALSE时,即使调整了Flash动画的画面大小,或是更改了Flash动画的#defaultRect属性,定位点都将保持在原位置不变。我们可以通过设置Flash动画的#RegPoint属性来更改定位点的位置,如果用户更改了#RegPoint属性,则#centerRegPoint属性将自动变为FALSE,#centerRegPoint属性的默认值为TRUE。例如:
If GetIconProperty(@"Flash Icon", #centerRegPoint) then
SetIconProperty(@"Flash Icon", #regPoint, Point(0,0))
end if
◆ 方法:#clearError
函数:CallIcon(@"IconTitle", #clearError)
说明:将错误状态重置为0。如果Flash动画在载入内存时发生了错误,则Authorware将Flash动画的#state属性设置为-1,调用该方法可以将#state属性重置为0。例如:
If GetIconProperty(@"Flash Icon", #state)=-1 then
Error:=CallIcon(@"Flash Icon", #getError)
CallIcon(@"Flash Icon", #clearError)
end if
◆ 属性:#defaultRect
函数:SetIconProperty(@"IconTitle", #defaultRect, rect)
说明:设置指定的Flash Xtra图标中显示Flash动画的默认大小,参数rect 为一个矩形范围,比如:Rect(0,0,50,50)。当更改Flash动画的#defaultRect属性后,#defaultRectMode属性的值将自动变为#fixed。例如:
SetIconProperty(@"Flash Icon", #defaultRect, Rect(0, 0, WindowWidth, WindowHeight))
◆ 属性:#defaultRectMode
函数:SetIconProperty(@"IconTitle", #defaultRectMode, rect)
说明:设置Flash动画默认大小的模式,当参数rect取值为#Flash时,即将Flash动画的默认大小设置为Flash动画的原始大小;当参数rect取值#fixed时,即将Flash动画的默认大小设置为属性#defaultRect指定的大小,rect的默认取值为#Flash。例如:
SetIconProperty(@"Flash Icon", #defaultRectMode, #fixed)
◆ 属性:#directToStage
函数:SetIconProperty(@"IconTitle", #directToStage, boolean)
SetSpriteProperty(@"IconTitle", #directToStage, boolean)
说明:设置Flash动画是否以最优显示方式播放,参数boolean的取值为TRUE或FALSE。
◆ 属性:#eventPassMode
函数:SetIconProperty(@"IconTitle", #eventPassMode, value)
SetSpriteProperty(@"IconTitle", #eventPassMode, value)
说明:设置鼠标事件的发送模式,当参数value取值为#passAlways时,则总是向Authorware发送鼠标事件;取值为# passButton时,则只有当Flash动画中的按钮被点击时才发送鼠标事件;取值为#passNotButton时,则只有当按钮以外的对象被点击时才发送鼠标事件;取值为#passNever时,则不发送鼠标事件,value的默认值为#passAlways。
◆ 属性:#fixedRate
函数:SetIconProperty(@"IconTitle", #fixedRate, integer)
SetSpriteProperty(@"IconTitle", #fixedRate, integer)
说明:设置Flash动画的播放速率,默认取值为15,单位为帧/秒,该属性只在#playbackMode属性取值为#fixed时才有效。例如:
SetSpriteProperty(@"Flash Icon", #playbackMode, #fixed)
SetSpriteProperty(@"Flash Icon", #fixedRate, PathPositon@"Slider")
◆ 属性:#FlashRect
函数:result:=GetIconProperty(@"IconTitle", #FlashRect)
说明:获得Flash动画的原始大小,返回值为一矩形范围,比如:Rect(0,0,50,50)。
◆ 属性:#frame
函数:SetSpriteProperty(@"IconTitle", #frame, integer)
说明:设置Flash动画当前显示的帧数,帧数由参数integer确定,只能取整数。例如:
SetSpriteProperty(@"FlashIcon", #frame, GetSpriteProperty(@"FlashIcon", #frameCount)
◆ 属性:#frameCount
函数:integer:=GetIconProperty(@"IconTitle", #frameCount)
说明:返回指定图标中Flash动画的总帧数。
◆ 属性:#frameRate
函数:integer:=GetIconProperty(@"IconTitle", #frameRate)
说明:返回指定图标中Flash动画的原始速率,即在Flash中设定的速率,单位为帧/秒。例如:
If GetIconProperty(@"Flash Icon", #frameRate) < 15 then
SetSpriteProperty(@"Flash Icon", #playbackMode, #fixed)
SetSpriteProperty(@"Flash Icon", #fixedRate, 15)
end if
◆ 方法:#frameReady
函数:boolean:=CallSprite(@"IconTitle", #frameReady, framenumber)
说明:检测变量framenumber指定的某一帧的数据是否已经载入到内存中,即检测该帧是否可以播放,是则返回值为TRUE,否则为FALSE。例如:
If CallSprite(@"Flash Icon", #frameReady, 25) then
FrameReady:=True
else
FrameReady:=False
end if
◆ 方法:#getError
函数:result:=CallIcon(@"IconTitle", #getError)
说明:返回将Flash动画载入内存时发生错误的种类。如果返回值为FALSE,则表示没有错误发生;如果返回值为#memory,则表示载入Flash动画时内存不足;如果返回值为#fileNotFound,则表示未找到需要载入内存的Flash动画文件;如果返回值为#network,则表示网络错误阻止Flash动画的载入;如果返回值为#fileFormat,则表示文件格式错误或读取文件时发生错误;如果返回值为#other,则表示发生了其他错误。例如:
If GetIconProperty(@"Flash Icon", #state)=-1 then
Error:=CallIcon(@"Flash Icon", #getError)
CallIcon(@"Flash Icon", #clearError)
end if
◆ 方法:#getVariable
函数:CallSprite(@"Flash Icon ", #getVariable, variableName)
说明:返回Flash动画中参数variableName指定的变量的值,变量仅限于非空的字符串变量。例如:
result:=CallSprite(@"Flash Icon", #getVariable, "currentURL")
◆ 方法:#goToFrame
函数:CallSprite(@"IconTitle", #goToFrame, framenumber)
说明:跳转到Flash动画的参数framenumber指定的某一帧,与设置#frame属性的效果是一样的。例如:
CallSprite(@"Flash Icon", #goToFrame, ChoiceNumber@"My Interaction")
◆ 方法:#hitTest
函数:result:=CallSprite(@"IconTitle", #hitTest, point)
说明:检测参数point所指定的位置(相对于演示窗口)处在Flash动画的何种区域。如果返回值为#background,则表示point指定的位置处于Flash动画的背景区;如果返回值为#normal,则表示point指定的位置处于Flash动画的某个填充对象之上;如果返回值为#button,则表示point指定的位置处于Flash动画的某个按钮区域之内。例如:
result:=CallSprite(@"Flash Icon", #hitTest, Point(CursorX, CursorY))
◆ 方法:#hold
函数:CallSprite(@"IconTitle", #hold)
说明:暂停播放Flash动画,但是如果Flash动画包含音频的话,声音将会继续播放,图像暂停在当前帧。
◆ 属性:#imageEnabled
函数:SetIconProperty(@"IconTitle", #imageEnabled, boolean)
SetSpriteProperty(@"IconTitle", #imageEnabled, boolean)
说明:设置播放Flash动画时是否显示图像,参数boolean的取值可以是TRUE或FALSE,默认取值为TRUE。例如:
SetSpriteProperty(@"Flash Icon", #imageEnabled, False)
repeat while GetIconProperty(@"Flash Icon", #state) <>4 |<>-1
end repeat
SetSpriteProperty(@"Flash Icon", #imageEnabled, True)
◆ 属性:#linked
函数:SetIconProperty(@"IconTitle", #linked, boolean)
说明:设置Flash动画是否作为链接方式播放,如果参数boolean的值为TRUE,则Flash动画作为外部文件链接到Authorware文件;如果参数boolean的值为FALSE,则Flash动画将存储到Authorware文件内部。
◆ 属性:#loop
函数:SetIconProperty(@"IconTitle", #loop, boolean)
SetSpriteProperty(@"IconTitle", #loop, boolean)
说明:设置Flash动画是否循环播放,参数boolean的取值可以是TRUE或FALSE。例如:
If Checked@"Continuous Play" then
SetSpriteProperty(@"Flash Icon", #loop, True)
else
SetSpriteProperty(@"Flash Icon", #loop, False)
end if
◆ 属性:#mouseOverButton
函数:boolean:=GetSpriteProperty(@"IconTitle", #mouseOverButton)
说明:检测当前鼠标位置是否正处于Flash动画的按钮之上,返回值为TRUE或FALSE。例如:
If GetSpriteProperty(@"Flash Icon", #mouseOverButton) then
Message:= "请点击此处继续!"
else
Message:= ""
end if
◆ 属性:#originH
函数:SetIconProperty(@"IconTitle", #originH, number)
SetSpriteProperty(@"IconTitle", #originH, number)
说明:设置Flash动画缩放或旋转时中心点的水平坐标,该属性只在#originMode属性的值为#point时有效。例如:
SetSpriteProperty(@"Flash Icon", #originMode, #point)
SetSpriteProperty(@"Flash Icon", #originH, ClickX)
SetSpriteProperty(@"Flash Icon", #originV, ClickY)
◆ 属性:#originMode
函数:SetIconProperty(@"IconTitle", #originMode, value)
SetSpriteProperty(@"IconTitle", #originMode, value)
说明:设置Flash动画中心点的模式,参数value取值为#center时,则将中心点设置在Flash动画的中央;参数value取值为#topleft时,则将中心点设置在Flash动画的左上角位置;参数value取值为#point时,则中心点的位置可以由#originPoint,#originH和#originV等属性确定,参数value的默认取值为#center。例如:
SetSpriteProperty(@"Flash Icon", #originMode, #point)
SetSpriteProperty(@"Flash Icon", #originH, 12)
◆ 属性:#originPoint
函数:SetIconProperty(@"IconTitle", #originPoint, point)
SetSpriteProperty(@"IconTitle", #originPoint, point)
说明:设置Flash动画中心点的位置,参数point的取值为一个点,比如:Point(100,200)。当使用该属性设置Flash动画中心点位置时,#originMode属性的值将自动更改为#point。例如:
SetSpriteProperty(@"Flash Icon", #originPoint, Point(ClickX, ClickY))
◆ 属性:#originV
函数:SetIconProperty(@"IconTitle", #originV, number)
SetSpriteProperty(@"IconTitle", #originV, number)
说明:设置Flash动画缩放或旋转时中心点的垂直坐标,该属性只在#originMode属性的值为#point时有效,与#originH属性类似。
◆ 属性:#pathName
函数:SetIconProperty(@"IconTitle", #pathName, filepath)
说明:设置以链接方式播放的Flash动画的路径,路径可以是本地驱动器、网络驱动器或是URL地址,该属性只在#linked属性的值为TRUE时才有效。例如:
SetIconProperty(@"Flash Icon", #pathName, FileLocation^"ya.swf")
◆ 属性:#pausedAtStart
函数:SetIconProperty(@"IconTitle", #pausedAtStart, boolean)
说明:设置Flash动画是否在开始播放时暂停,参数boolean的取值可以是TRUE或FALSE,默认值是FALSE。如果#pausedAtStart属性的值为TRUE,可以调用#play方法开始播放Flash动画。例如:
SetIconProperty(@"Flash Icon", #pausedAtStart, True)
if getscore>=100 then
CallSprite(@"Flash Icon", #play)
end if
◆ 属性:#percentStreamed
函数:integer:=GetIconProperty(@"IconTitle", #percentStreamed)
说明:返回指定标中Flash动画载入到内存时完成的百分比,返回值为0到100之间的整数。
◆ 方法:#play
函数:CallSprite(@"IconTitle", #play)
说明:开始播放指定图标中的Flash动画。如果指定的Flash动画已经停止播放,则从当前帧开始播放;如果Flash动画已经播放到最后一帧,则从第一帧开始播放。例如:
If GetSpriteProperty(@"Flash Icon", #playing) = False then
CallSprite(@"Flash Icon", #play)
end if
◆ 属性:#playBackMode
函数:SetIconProperty(@"IconTitle", #playBackMode, mode)
SetSpriteProperty(@"IconTitle", #playBackMode, mode)
说明:控制Flash动画播放速率的模式。参数mode取值为#normal时,Flash动画将以其原始速率播放,即在Flash里设定的播放速率;参数mode取值为#lockStep,Flash动画将以Flash Xtra属性对话框中设定的速率播放;参数mode取值为#fixed时,Flash动画将以#fixedRate属性指定的速率播放。例如:
SetIconProperty(@"Flash Icon", #playBackMode, #fixed)
SetIconProperty(@"Flash Icon", #fixedRate, 15)
◆ 属性:#playing
函数:boolean:=GetSpriteProperty(@"Flash Icon", #playing)
说明:检测指定图标中的Flash动画是否正在播放,如果正在播放,则返回值为TRUE,否则返回值为FALSE。
◆ 属性:#posterFrame
函数:SetIconProperty(@"IconTitle", #posterFrame, framenumber)
说明:设置将Flash动画第几帧的图像作为Flash Xtra属性对话框中预览区域的图像,参数framenumber取整数值,默认值为1。例如:
SetIconProperty(@"Flash Icon", #posterFrame, GetSpriteProperty(@
"Flash Icon", #frameCount))
◆ 属性:#preload
函数:SetIconProperty(@"IconTitle", #preload, boolean)
说明:设置Flash动画在播放前是否预先全部载入内存,参数boolean的取值可以是TRUE或FALSE,该属性只对最为外部链接方式的Flash动画有效。例如:
SetIconProperty(@"Flash Icon", #preload, False)
SetIconProperty(@"Flash Icon", #bufferSize, 65536)
◆ 属性:#quality
函数:SetIconProperty(@"IconTitle", #quality, value)
SetSpriteProperty(@"IconTitle", #quality, value)
说明:控制Flash动画的播放质量,即控制播放Flash动画时是否启用反图形失真(Anti-aliasing)。参数value取值为#autoHigh时,播放Flash动画时启用 Anti-aliasing,以高质量播放Flash动画,如果Flash动画的实际播放速率低于指定的播放速率,则Authorware将自动关闭Anti-aliasing,以低质量播放Flash动画;参数value取值为#autoLow时,播放Flash动画时将关闭 Anti-aliasing,以低质量播放Flash动画,如果Flash播放器判断当前系统可以使用高质量播放Flash动画,则自动启用Anti-aliasing;参数value取值为#high时,则播放Flash动画时总是启用Anti-aliasing,以高质量播放Flash动画;参数value取值为#low时,则播放Flash动画时总是关闭Anti-aliasing,以低质量播放Flash动画。例如:
If ScreenDepth <= 8 then
SetSpriteProperty(@"Flash Icon", #quality, #low)
end if
◆ 属性:#regPoint
函数:SetIconProperty(@"IconTitle", #regPoint, point)
说明:设置Flash动画定位点的坐标。例如:
SetIconProperty(@"Flash Icon", #regPoint, Point(0,0))
◆ 方法:#rewind
函数:CallSprite(@"IconTitle", #rewind)
说明:将Flash动画倒回到第一帧,不管Flash动画已经停止播放或是正在播放均适用。
◆ 属性:#rotation
函数:SetIconProperty(@"IconTitle", #rotation, degree)
SetSpriteProperty(@"IconTitle", #rotation, degree)
说明:设置Flash动画播放时旋转的角度。例如:
SetIconProperty(@"Flash Icon", #obeyScoreRotation, FALSE)
repeat with i := 1 to 36
SetSpriteProperty(@"Flash Icon", #rotation, i * 10)
end repeat
◆ 属性:#scale
函数:SetIconProperty(@"IconTitle", #scale, percent)
SetSpriteProperty(@"IconTitle", #scale, percent)
说明:设置Flash动画播放时的缩放比率,参数percent的默认值为100。例如:
SetSpriteProperty(@"Flash Icon", #scale, 0)
repeat with i := 1 to 20
SetSpriteProperty(@"Flash Icon", #scale, i * 5)
end repeat
◆ 方法:#setVariable
函数:CallSprite(@"Flash Icon", #setVariable, variableName, value)
说明:设置Flash动画中某个变量的值,该值必须是字符串值。例如:
CallSprite(@"Flash Icon", #setVariable, "currentURL",
"http://www.macromedia.com")
◆ 属性:#sound
函数:SetIconProperty(@"IconTitle", #sound, boolean)
SetSpriteProperty(@"IconTitle", #sound, boolean)
说明:设置播放Flash动画时是否播放动画中的音频部分,参数boolean的取值可以是TRUE或FALSE。例如:
If GetSpriteProperty(@"Flash Icon", #sound) then
SetSpriteProperty(@"Flash Icon", #sound, False)
else
SetSpriteProperty(@"Flash Icon", #sound, True)
end if
◆ 属性:#state
函数:result:=GetIconProperty(@"IconTitle", #state)
说明:返回Flash动画载入内存时的状态,属性#state的返回值与其含义的对应关系如下:
0:图标数据未载入内存
1:标题正在载入内存
2:标题载入完毕
3:图标媒体数据正在载入内存
4:图标媒体数据载入完毕
-1:有错误发生
◆ 方法:#stop
函数:CallSprite(@"IconTitle", #stop)
说明:停止播放Flash动画。例如:
If GetSpriteProperty(@"Flash Icon", #playing) then
CallSprite(@"Flash Icon", #stop)
end if
◆ 属性:#stream
函数:bytesStreamed:=CallIcon(@"IconTitle", #stream, numberOfBytes)
说明:手工确定Flash动画一次载入内存的字节数,由于各方面的影响,实际载入内存的数据量有可能小于参数numberOfBytes设定的数量。例如:
CallIcon(@"Flash Icon", #stream, 32000)
◆ 属性:#streamSize
函数:bytesInStream:=GetIconProperty(@"IconTitle", #streamSize)
说明:返回指定图标中Flash动画载入内存的字节数,返回值为整数。
◆ 属性:#URL
函数:SetIconProperty(@"IconTitle", #URL, filePath)
说明:#URL属性与#pathname属性的作用是一样的,请读者参见#pathname属性的用法。

问:如何改变背景midi、wav声音大小
答: 载入BINAPI.u32中的SETVOLUME()
SetVolume(int Type,int VolumePersent)
改变音量大小,Type可以是0:主音量,1:Wave音量,2:MIDI音量.
VolumePersent是音量大小,为百分比(0 - 100).
返回值:0-失败,1-成功 (蓝空翔鹰)
答:使用budapi.u32这个文件!
bkvolume:=20
basetvolume("midi",bkvolume)
这样背景音乐就为原来的20%
(彤庭玉qylhbyx@163.com)
答:M_SetMidiVolume() 设置Windows中Midi音乐音量大小。
这是MJSAPI不应改为ACTIVEM其中的一个函数!!方便吧!(虚竹)

[问题]
如何在AW5.2中插入使用*.wma文件?
[解答](Rock Studio 魔岩工作室)
1.Insert——>Control——>ActiveX——>Window Media Player
2.Rename ActiveX Icon as "wma"
3.Add a calculate Icon to the Flow
Write the Code into calculate Icon as below:
CallSprite(@"wma", #open,FileLocation^"1.wma") ---play 1.wma file
4.Save and try
[问题]
如何调用windows本身的声音控制面板?
[解答]
首先你在流程线上加入一个交互按钮,在交互按钮下加入计算图标,在里面写入以下内容:
winpath:=getosdirectory()
JumpOutReturn(winpath^"sndvol32.exe")
运行程序,当你单击按钮时就会调出window的音量控制面板。

问:打包后用DMX播放的视频为什么没有声音呀?
我用dmx(已注册)播放dat格式的视频,打包后为什么没有声音了?是不是我丢了什么东西
(我将dmx与打包文件放到同一目录下了)或是设置错了什么地方(我可是用的默认值,没敢动),这到底是怎么一回事情呀?(一辉)
答:有没有把a5mpeg.xmo工a5mpeg32.xmo拷到打包文件目录?
这些是AW播放电影文件的支持文件。基本上看一下文件名就可以猜到它们的作用。
a6dir32.xmo——播放DIR影片(由于对版本的支持有限,意义不大了)
a6vfw32.xmo——播放AVI时需带上
a6qt32.xmo——播放MOV电影时要带上,但同时用户机上必须装有quicktime3.0以上才行
a6mpeg32.xmo——播放MPEG压缩文件但同时用户机上必须装有MPG文件的播放器,比如超级解霸等
注意这些文件都是必须拷到打包的EXE文件所在的目录下。(小邓)

(三石工作室)
问:如何调用windows本身的声音控制面板
答:首先你在流程线上加入一个交互按钮,在交互按钮下加入计算图标,在里面写入以下内容:
winpath:=getosdirectory()
JumpOutReturn(winpath^"sndvol32.exe")
运行程序,当你单击按钮时就会调出window的音量控制面板
问:怎么能够实现配音说完以后背景音乐还能够播放?
答:如果你两个声音都是wav文件就会有问题。Authorware里面不可以同时播放两个wav文件.
解决方法 : 1把背景音乐做成midi, 配音用wav。 2 使用DIrectmedia Xtra插件可以
同时播放多个声音

如何把 AUTHORWARE声音文件*.SWA转化成 *.WAV??
答:利用超级解霸波形录音就OK(xie0909)
答:director8 中可互转(sun424)

问:如何制作声音播放进度条(amstar)
使用了A6wmme.u32中的waveplay播放一篇文章的朗读声音(wav格式)。现在想做一个播放的进度条,要
求通过拖动进度条的滑块能够控制声音播放的位置
答:将移动设计图标的pathposition与声音的当前进度建立关系。在目标区响应中也要如此。(Y)
答:看看Showme里的slider例子(sintian)
答:将滑块移动设置为“直线上的任一点”然后把声音进度与“目的地”关联!!(虚竹)

问:我用PC录音,效果总是不太理想,音响开到最大有杂音!(xiaoqiang )
答:主要是电流声,用一些声音处理软件可以进行一些处理(小邓)
答1、声音开小一些。 2、要处理。(平时我就不处理,凑活着用了)(金色太阳鸟)
答:换一块好声卡就行啦(star 、网络幽灵hui)
答:要作好的录音最好你有一间录音室,通过其他的音响设备完成录音后再用PC调用。(冰马 )
答:先用音响或者录音机外接话筒录到录音机,再连到电脑声卡输入端,软件可用soud forge降噪。[hy]
答:我的感受是直接对着电脑说更好,不要先录到磁带,再线输入。 录音机本身就有电流干扰的呀。(金色太阳鸟)
答:我的经验是集成声卡一般效果很差,甚至于录不到音,而一块两三百元的中等声卡可以满足一般的录音要求。
(娃娃)
答:以你目前的设备,可以将麦克线和音箱线尽量离远一些,这样可以 将电流干扰降到最低,换一个防噪麦克可以
将噪音降低,但是要提高 音质就只有…………(yan0960 )
答:我的经验是好的话筒和声卡,如果没有专门的录音室,只有选择夜深人静的时候了(richhu )











aloneman

职务:普通成员
等级:2
金币:1.0
发贴:297
#22002/5/27 15:58:57
辛苦了!



魔岩

职务:版主
等级:6
金币:34.0
发贴:4453
#32002/5/27 16:43:41
很好,不过是否可以把DMX和Flash的相关Xtras函数说明另开专题?
这样可以方便大家查阅!



gcnie

职务:普通成员
等级:1
金币:0.0
发贴:55
#42002/5/29 21:47:10
这贴子太好了希望以后能多有一些就好了。



monkey0312

职务:普通成员
等级:1
金币:0.0
发贴:47
#52002/5/30 9:42:01
上次看到用设计图标来控制音乐的播放和停止,请问设计图标中怎么设计?repeat和branch分别怎么书写?



yzd231501

职务:普通成员
等级:1
金币:0.0
发贴:4
#62002/12/24 16:17:22
您好!
请问有关于个人录音室的相关主题吗?


谢谢了!:-)



我本無情

职务:普通成员
等级:2
金币:4.0
发贴:590
#72002/12/25 11:54:18
好是好,就是眼都看花了!~~~



我本無情

职务:普通成员
等级:2
金币:4.0
发贴:590
#82002/12/25 14:59:10
要是以后经常有这样的帖子该多好哟~~~



kjh118

职务:普通成员
等级:1
金币:0.0
发贴:13
#92003/1/7 8:12:49
这样真好。有助于大家查阅学习,多谢lvzhiguo为我们提供的这则帖子。 ;)



lzyman

职务:普通成员
等级:1
金币:1.0
发贴:202
#102003/1/7 22:04:38
比较全面,但有些帖子的内容相对今天而言落后了,应该更新、补充或弃之不用以免给初学者造成错觉。



我本無情

职务:普通成员
等级:2
金币:4.0
发贴:590
#112003/1/8 12:29:31
个人认为挺实用的。希望下次有更好的奉献给大家。



dreamexpress_5d

职务:普通成员
等级:1
金币:10.0
发贴:2229
#122005/7/26 21:14:24
加入精华了吗?



Alfish

职务:普通成员
等级:1
金币:0.0
发贴:13
#132005/8/3 9:09:04
不错,辛苦了。



魔岩

职务:版主
等级:6
金币:34.0
发贴:4453
#142005/8/5 9:17:43
都过过了3年拉。。楼主估计也研究生毕业,没再搞AW了吧。。

好久没联系过了