![]() ![]() | |
Flash Player 5。
my_sound.setTransform(soundTransformObject)
soundTransformObject 一个用通用 Object 类的构造函数创建的对象。
无。
方法;设置 Sound 对象的声音转换(即,均衡)信息。
soundTransformObject 参数是一个用通用 Object 类的构造函数方法创建的对象,该对象具有指定声音在左右声道(扬声器)间如何分布的参数。
声音占用相当大的磁盘空间和内存。因为立体声声音使用的数据是单声道声音的两倍,通常情况下最好使用 22 KHz 6 位单声道声音。您可以使用 setTransform() 将单声道声音播放为立体声、将立体声声音播放为单声道以及向声音添加有趣的效果。
soundTransformObject 的属性如下:
11 一个百分数值,指定左输入在左扬声器里播放的量 (0-100)。
1r 一个百分数值,指定右输入在左扬声器里播放的量 (0-100)。
rr 一个百分数值,指定右输入在右扬声器里播放的量 (0-100)。
rl 一个百分数值,指定左输入在右扬声器里播放的量 (0-100)。
这些参数的净结果由以下公式表示:
leftOutput = left_input * ll + right_input * lr rightOutput = right_input * rr + left_input * rl
left_input 或 right_input 的值由 SWF 文件中的声音类型(立体声或单声道)确定。
立体声声音将声音输入在左右扬声器之间平均分配,且在默认情况下具有下面的转换设置:
ll = 100lr = 0rr = 100rl = 0
单声道声音在左扬声器里播放所有的声音输入,且在默认情况下具有下面的转换设置:
ll = 100lr = 100rr = 0rl = 0
下面的示例说明了这样一个设置,它可以通过使用 setTransform() 实现,但不能通过使用 setVolume() 或 setPan() 实现,即使将后两种方法结合起来使用也无法实现该设置。
下面的代码新建一个 soundTransformObject 对象并设置其属性,以便只在左声道中播放来自两个声道的声音。
mySoundTransformObject = new Object;mySoundTransformObject.ll = 100;mySoundTransformObject.lr = 100;mySoundTransformObject.rr = 0;mySoundTransformObject.rl = 0;
若要将 soundTransformObject 对象应用到 Sound 对象,则需要使用 setTransform() 将此对象传递给 Sound 对象,如下所示:
my_sound.setTransform(mySoundTransformObject);
下面的示例将立体声声音播放为单声道声音;soundTransformObjectMono 对象具有下列参数:
mySoundTransformObjectMono = new Object;mySoundTransformObjectMono.ll = 50;mySoundTransformObjectMono.lr = 50;mySoundTransformObjectMono.rr = 50;mySoundTransformObjectMono.rl = 50;my_sound.setTransform(soundTransformObjectMono);
此示例只播放左声道音量的一半,而将左声道的剩余部分添加到右声道;soundTransformObjectHalf 对象具有下列参数:
mySoundTransformObjectHalf = new Object;mySoundTransformObjectHalf.ll = 50;mySoundTransformObjectHalf.lr = 0;mySoundTransformObjectHalf.rr = 100;mySoundTransformObjectHalf.rl = 50;my_sound.setTransform(soundTransformObjectHalf);
![]() ![]() | |