使用闪光灯交替支付左右扬声器的声音

时间:2012-07-03 13:16:37

标签: actionscript-3 flash

我在数组中有一组声音,当我点击START按钮时会开始随机播放。现在我想知道如何在左右扬声器中播放声音。对于前者如果第一个声音在我的头部电话的左扬声器播放,第二个声音应该在右扬声器播放,依此类推。有可能吗?

1 个答案:

答案 0 :(得分:1)

您可以使用SoundTransform类来完成此任务。请查看此帮助文章,获取示例http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7d1f.html

如果链接死亡,这是一个摘录:

  

单个SoundChannel对象控制左侧和右侧   用于声音的立体声声道。如果mp3声音是单声道声音,那么   SoundChannel对象的左右立体声通道将包含   相同的波形。

     

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

     

SoundChannel对象的pan属性可用于指定a   每个左右声道的不同音量等级   回放。 pan属性的值可以是-1到1,   其中-1表示左声道在最高音量播放,而右声音播放   频道是静音,1表示右频道以最高音量播放   而左声道是沉默的。数字值介于-1和1之间   设置左右声道值的比例值,以及a   值为0表示两个通道均以中等音量播放   水平。

     

以下代码示例使用a创建SoundTransform对象   音量值为0.6,平移值为-1(左上声道音量和音量)   没有正确的频道音量)。它传递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对象的声像或音量属性   然后将该对象应用为a的soundTransform属性   SoundChannel对象。

你只需添加一个布尔标志来指示哪一侧没有音量,然后适当地修改声音变换。