主题:  DREAMEXPRESS系列(二):在AW中播放二个WAV

dreamexpress_5d

职务:普通成员
等级:1
金币:10.0
发贴:2229
#12003/10/17 16:03:50
AW播放声音使用MCI,独占式播放,不能同时播放二个或更多的WAV声音。

而DIRECTMEDIA XTRAS可以同时播放多个动画或声音文件。

于是用DIRECTMEDIA XTRAS播放背景音乐与人声解说。发觉这样做效果还是很不错的。
====================================================
附测试程序截图!
图片如下:

=======================
程序解说:
-------------
1、这个语句:
SND:=Round(GetIconProperty(@"声音",#volume))
可以将DMX的播放音量值读出来并赋给SND(自定义变量)。

2、这个语句:
SetIconProperty(@"声音",#volume,Round(PathPosition@"SLIDER"))
可以将通过拉动滑块的位置来改变音量大小。

3、问题:改变音量后,正在播放的声音不会改变音量。只有重新播放,新的音量设置值才会有起作用。
==========================
真的是太糟了:因为我想用函数来改变解说或背景音乐的音量大小,对于背景音乐倒是可以重新播放一次,但对于人声解说这样显然不合理。
=============================

通过WINDOWS系统的音量控制的话,那就解说或背景音乐同时改变音量。(我用的解说和背景音乐二个均是WAV声音。)

结论:通过ALTOOLS.u32外部函数改变WINDOWS系统的WAV声音,然后再通过DMX的声音控制函数调整背景音乐的相对音量。

即调整WINDOWS系统的WAV声音的音量时,二者同时改变。

改变背景音乐的音量可以不影响人声解说的音量。

本人认为这样是在AW中,解决同时播放二个(或以上)WAV与MP3声音,并控制其音量的最佳解决方案。

我不推荐背景音乐采用MIDI的做法。MIDI在不同的声卡上播放的效果相差较大,有的声卡上简直有点让人难以忍受!

不知道各位大侠如何认为?
+++++++++++++++++++++++++++++++++++++++++++++++++++++
参考链接:DREAMEXPRESS系列(一):
http://www.5d.cn/bbs/NewsDetail.asp?id=950345

编辑历史:[此帖被dreamexpress编辑过(编辑时间2003-10-17 16:19:29)]
[此帖被dreamexpress编辑过(编辑时间2003-10-17 16:31:56)]
[此帖被dreamexpress编辑过(编辑时间2003-10-17 16:34:12)]
[此帖被dreamexpress编辑过(编辑时间2003-10-17 16:35:27)]
[此帖被dreamexpress编辑过(编辑时间2003-10-17 16:37:54)]
[此帖被dreamexpress编辑过(编辑时间2003-10-17 19:07:15)]
[此帖被dreamexpress编辑过(编辑时间2003-10-17 19:08:00)]
[此帖被dreamexpress编辑过(编辑时间2003-10-17 19:08:31)]


跋涉者

职务:普通成员
等级:2
金币:1.0
发贴:520
#22003/10/17 16:55:28
好,多谢,正找呢,慢慢研究。你是个多面手啊,佩服。



dreamexpress_5d

职务:普通成员
等级:1
金币:10.0
发贴:2229
#32003/10/17 19:05:29
DIRECTMEDIA XTRAS下载:
相关文件:点这儿打开

(解压后COPY到AW的XTRAS目录下即可使用,打包时带上。)



yczrk

职务:普通成员
等级:1
金币:8.0
发贴:291
#42003/10/18 10:16:51
这样太复杂了,插入QUICKTIME两个,分别导入不同声音就行了。



东莞牛仔

职务:普通成员
等级:1
金币:0.0
发贴:2
#52003/10/18 17:24:47
也挺复杂的啊!!



dreamexpress_5d

职务:普通成员
等级:1
金币:10.0
发贴:2229
#62003/10/18 20:45:51
yczrk在上个帖子中说
引用:
这样太复杂了,插入QUICKTIME两个,分别导入不同声音就行了。

DMX与QTM都可以导入。

我说的是通过函数对导入的媒体进行控制的方法,理解了的话其实真的很简单,我想任何稍有AW基础的人都不会觉得复杂。如果看不懂的话,说明AW还没能真正入门,要加油干啊,呵呵。。。