我在数组中有一组声音,当我点击START按钮时会开始随机播放。现在我想知道如何在左右扬声器中播放声音。对于前者如果第一个声音在我的头部电话的左扬声器播放,第二个声音应该在右扬声器播放,依此类推。有可能吗?
答案 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对象。
你只需添加一个布尔标志来指示哪一侧没有音量,然后适当地修改声音变换。