setTransform (Sound.setTransform メソッド)

public setTransform(transformObject: Object) : Void

Sound オブジェクトにサウンド変換情報、つまり "バランス" 情報を設定します。

soundTransformObject パラメータは、汎用 Object オブジェクトのコンストラクタメソッドを使用して作成するオブジェクトです。このオブジェクトには、左右のチャンネル (スピーカー) 間でサウンドをどのように配分するかを指定するパラメータがあります。

サウンドは、大量のディスク領域およびメモリを必要とします。ステレオサウンドはモノラルサウンドの 2 倍のデータを使用するため、一般には 22 kHz、6 ビットのモノラルサウンドを使用するのが最善です。setTransform() メソッドを使用すると、モノラルサウンドをステレオサウンドとして再生したり、ステレオサウンドをモノラルサウンドのように再生したり、またサウンドに特殊効果を追加することができます。

メモ : Flash Lite 2.0 でこのメソッドがサポートされるのは、Flash ネイティブサウンドのみです。ホストデバイスに固有のサウンド形式はサポートされません。

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

使用できるバージョン : ActionScript 1.0、Flash Lite 2.0

パラメータ

transformObject: Object - 汎用の Object オブジェクト用コンストラクタで作成したオブジェクト。

次の例では、setTransform() メソッドでは実現でき、setVolume() メソッドや setPan() メソッドでは両方を組み合わても実現できない設定を示します。

次のコードでは、新しい soundTransformObject オブジェクトを作成し、両方のチャンネルのサウンドが左チャンネルでのみ再生されるように、オブジェクトのプロパティを設定します。

var mySoundTransformObject: Object = new Object();
mySoundTransformObject.ll = 100;
mySoundTransformObject.lr = 100;
mySoundTransformObject.rr = 0;
mySoundTransformObject.rl = 0;

soundTransformObject オブジェクトを Sound オブジェクトに適用するには、次のように setTransform() メソッドを使用してオブジェクトを Sound オブジェクトに渡します。

my_sound.setTransform(mySoundTransformObject);

次の例では、ステレオサウンドをモノラルとして再生します。soundTransformObjectMono オブジェクトは以下のパラメータを使用します。

var mySoundTransformObjectMono: Object = new Object();
mySoundTransformObjectMono.ll = 50;
mySoundTransformObjectMono.lr = 50;
mySoundTransformObjectMono.rr = 50;
mySoundTransformObjectMono.rl = 50;
my_sound.setTransform(mySoundTransformObjectMono);

次の例では、半分のボリュームで左チャンネルを再生し、右チャンネルに左チャンネルの残りの部分を追加します。soundTransformObjectHalf オブジェクトは以下のパラメータを使用します。

var mySoundTransformObjectHalf: Object = new Object();
mySoundTransformObjectHalf.ll = 50;
mySoundTransformObjectHalf.lr = 0;
mySoundTransformObjectHalf.rr = 100;
mySoundTransformObjectHalf.rl = 50;
my_sound.setTransform(mySoundTransformObjectHalf);

var mySoundTransformObjectHalf: Object = {ll: 50, lr: 0, rr: 100, rl: 50};

関連項目

Object, getTransform (Sound.getTransform メソッド)