パッケージflash.media
public final class SoundChannel
継承SoundChannel Inheritance EventDispatcher Inheritance Object

SoundChannel クラスはアプリケーション内でサウンドを制御します。Adobe® Flash® アプリケーションでの各サウンド再生は、サウンドチャンネルに割り当てられます。アプリケーションは複数のチャンネルを使用して、それらを組み合わせることができます。SoundChannel クラスには、stop() メソッド、チャンネルの振幅 (ボリューム) を監視するためのプロパティ、および SoundTransform オブジェクトをチャンネルに設定するためのプロパティがあります。

例の表示

関連項目

Sound
SoundTransform


パブリックプロパティ
 プロパティ定義
 Inheritedconstructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  leftPeak : Number
[read-only] 左チャンネルの現在の振幅 (ボリューム)、0 (無音) ~ 1 (完全な振幅) です。
SoundChannel
  position : Number
[read-only] サウンド内の再生ヘッドの現在の位置を表します。
SoundChannel
 Inheritedprototype : Object
[static] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  rightPeak : Number
[read-only] 右チャンネルの現在の振幅 (ボリューム)、0 (無音) ~ 1 (完全な振幅) です。
SoundChannel
  soundTransform : SoundTransform
サウンドチャンネルに割り当てられた SoundTransform オブジェクトです。
SoundChannel
パブリックメソッド
 メソッド定義
 InheritedaddEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
EventDispatcher
 InheriteddispatchEvent(event:Event):Boolean
イベントをイベントフローに送出します。
EventDispatcher
 InheritedhasEventListener(type:String):Boolean
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 InheritedhasOwnProperty(name:String):Boolean
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 InheritedisPrototypeOf(theClass:Object):Boolean
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 InheritedpropertyIsEnumerable(name:String):Boolean
指定されたプロパティが存在し、列挙可能かどうかを示します。
Object
 InheritedremoveEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
EventDispatcher
 InheritedsetPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
  stop():void
チャンネルで再生しているサウンドを停止します。
SoundChannel
 InheritedtoString():String
指定されたオブジェクトのストリング表現を返します。
Object
 InheritedvalueOf():Object
指定されたオブジェクトのプリミティブ値を返します。
Object
 InheritedwillTrigger(type:String):Boolean
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
イベント
 イベント一覧定義
  soundComplete サウンドの再生が終了したときに送出されます。SoundChannel
プロパティの詳細
leftPeakプロパティ
leftPeak:Number  [read-only]

左チャンネルの現在の振幅 (ボリューム)、0 (無音) ~ 1 (完全な振幅) です。

実装
    public function get leftPeak():Number
positionプロパティ 
position:Number  [read-only]

サウンド内の再生ヘッドの現在の位置を表します。サウンドをループしている場合、サウンド位置は各ループの最初に 0 にリセットされます。

実装
    public function get position():Number
rightPeakプロパティ 
rightPeak:Number  [read-only]

右チャンネルの現在の振幅 (ボリューム)、0 (無音) ~ 1 (完全な振幅) です。

実装
    public function get rightPeak():Number
soundTransformプロパティ 
soundTransform:SoundTransform  [read-write]

サウンドチャンネルに割り当てられた SoundTransform オブジェクトです。SoundTransform オブジェクトには、ボリューム、パン、左スピーカーの割り当て、および右スピーカーの割り当てを設定するプロパティが含まれます。

実装
    public function get soundTransform():SoundTransform
    public function set soundTransform(value:SoundTransform):void

関連項目

メソッドの詳細
stop()メソッド
public function stop():void

チャンネルで再生しているサウンドを停止します。

イベントの詳細
soundCompleteevent 
イベントオブジェクトの型: flash.events.Event
Event.type property = flash.events.Event.SOUND_COMPLETE

サウンドの再生が終了したときに送出されます。

soundComplete イベントオブジェクトの type プロパティの値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
targetサウンドの再生が終了した Sound オブジェクトです。

次の例では、MP3 ファイルがロードされて再生され、 その場合に発生するサウンドイベントに関する情報が表示されます。Timer オブジェクトでは、 再生ヘッドの位置に関する更新情報が、50 ミリ秒ごとに提供されます。 この例を実行するには、MySound.mp3 ファイルを SWF ファイルと同じディレクトリに配置します。
package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.media.Sound;
    import flash.media.SoundChannel;
    import flash.net.URLRequest;
    import flash.utils.Timer;

    public class SoundChannelExample extends Sprite {
        private var url:String = "MySound.mp3";
        private var soundFactory:Sound;
        private var channel:SoundChannel;
        private var positionTimer:Timer;

        public function SoundChannelExample() {
            var request:URLRequest = new URLRequest(url);
            soundFactory = new Sound();
            soundFactory.addEventListener(Event.COMPLETE, completeHandler);
            soundFactory.addEventListener(Event.ID3, id3Handler);
            soundFactory.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
            soundFactory.addEventListener(ProgressEvent.PROGRESS, progressHandler);
            soundFactory.load(request);

            channel = soundFactory.play();
            channel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);

            positionTimer = new Timer(50);
            positionTimer.addEventListener(TimerEvent.TIMER, positionTimerHandler);
            positionTimer.start();
        }
        

        private function positionTimerHandler(event:TimerEvent):void {
            trace("positionTimerHandler: " + channel.position.toFixed(2));
        }

        private function completeHandler(event:Event):void {
            trace("completeHandler: " + event);
        }

        private function id3Handler(event:Event):void {
            trace("id3Handler: " + event);
        }

        private function ioErrorHandler(event:Event):void {
            trace("ioErrorHandler: " + event);
            positionTimer.stop();       
        }

        private function progressHandler(event:ProgressEvent):void {
            trace("progressHandler: " + event);
        }

        private function soundCompleteHandler(event:Event):void {
            trace("soundCompleteHandler: " + event);
            positionTimer.stop();
        }
    }
}