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 = 100
lr = 0
rr = 100
rl = 0
单声道声音在左扬声器里播放所有的声音输入,且在默认情况下具有下面的转换设置:
ll = 100
lr = 100
rr = 0
rl = 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);