2012-07-03 44 views
0

我有一组数组中的声音,并且会在我点击“开始”按钮时随机开始播放。现在我想知道如何在左右扬声器中交替播放声音。例如。如果第一个声音在我的头戴式耳机的左侧扬声器中播放,则第二个声音应该在右侧扬声器中播放,依此类推。有可能吗?支付声音左右扬声器交替使用闪光灯

回答

1

您可以使用SoundTransform类来完成此操作。看看这篇帮助文章为例http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7d1f.html

这里的情况下链接永不消逝的摘录:

单个SoundChannel对象可同时控制左和声音的权利 立体声通道。如果mp3声音是单声道声音,SoundChannel对象的左右立体声通道将包含 相同的波形。

您可以使用SoundChannel对象的leftPeak和rightPeak属性播放正在播放的声音 的每个立体声声道的振幅。这些属性显示 声音波形本身的峰值幅度。它们并不代表实际播放的音量。实际播放音量是SoundChannel对象 和SoundMixer类中设置的声波和音量值的振幅的函数。

在播放 时,SoundChannel对象的pan属性可用于指定 不同音量级别的左右声道。 pan属性的值可以是-1到1, ,其中-1表示左声道播放的是最高音量,右侧是 声道,而1表示右声道播放的是最高音量 ,而左声道是无声。介于-1和1, 之间的数字值为左右声道值设置比例值,值为0意味着两个声道都以平衡的中等音量水平播放。

下面的代码示例创建0.6 体积值和-1 pan值(顶部左声道音量和 没有右声道音量)SoundTransform对象。它将SoundTransform对象作为 参数传递给play()方法,该方法将SoundTransform对象应用于为创建控制 播放而创建的新SoundChannel对象。

var snd:Sound = new Sound(new URLRequest("bigSound.mp3")); 
var trans:SoundTransform = new SoundTransform(0.6, -1); 
var channel:SoundChannel = snd.play(0, 1, trans); 

你可以改变音量,而声音是 播放设置SoundTransform对象和盘或卷属性 然后将对象作为 SoundChannel对象的soundTransform属性平移。

所有您需要添加的是一个布尔标志,用于指示哪一侧应该没有音量,然后适当地修改声音转换。

+0

是啊非常感谢你,,,它正在工作,,太好了。 – Sakeer