패키지 | flash.media |
클래스 | public final class SoundTransform |
상속 | SoundTransform Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
관련 API 요소
flash.display.SimpleButton.soundTransform
flash.display.Sprite.soundTransform
flash.media.Microphone.soundTransform
flash.media.SoundChannel.soundTransform
flash.media.SoundMixer.soundTransform
flash.net.NetStream.soundTransform
flash.display.Sprite.soundTransform
flash.media.Microphone.soundTransform
flash.media.SoundChannel.soundTransform
flash.media.SoundMixer.soundTransform
flash.net.NetStream.soundTransform
공용 속성
속성 | 정의 주체 | ||
---|---|---|---|
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
leftToLeft : Number
왼쪽 스피커에서 재생할 왼쪽 입력 양을 지정하는 값으로 0(없음)부터 1(전부)까지 가능합니다. | SoundTransform | ||
leftToRight : Number
오른쪽 스피커에서 재생할 왼쪽 입력 양을 지정하는 값으로 0(없음)부터 1(전부)까지 가능합니다. | SoundTransform | ||
pan : Number
-1(왼쪽 최대 패닝)부터 1(오른쪽 최대 패닝)까지의 좌우 사운드 패닝입니다. | SoundTransform | ||
rightToLeft : Number
왼쪽 스피커에서 재생할 오른쪽 입력 양을 지정하는 값으로 0(없음)부터 1(전부)까지 가능합니다. | SoundTransform | ||
rightToRight : Number
오른쪽 스피커에서 재생할 오른쪽 입력 양을 지정하는 값으로 0(없음)부터 1(전부)까지 가능합니다. | SoundTransform | ||
volume : Number
0(묵음)부터 1(최대 볼륨)까지의 볼륨입니다. | SoundTransform |
공용 메서드
메서드 | 정의 주체 | ||
---|---|---|---|
SoundTransform 객체를 만듭니다. | SoundTransform | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object |
속성 세부 정보
leftToLeft | 속성 |
leftToRight | 속성 |
pan | 속성 |
rightToLeft | 속성 |
rightToRight | 속성 |
volume | 속성 |
생성자 세부 정보
SoundTransform | () | 생성자 |
public function SoundTransform(vol:Number = 1, panning:Number = 0)
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
SoundTransform 객체를 만듭니다.
매개 변수vol:Number (default = 1 ) — 0(묵음)부터 1(최대 볼륨)까지의 볼륨입니다.
| |
panning:Number (default = 0 ) — -1(왼쪽 최대 패닝)부터 1(오른쪽 최대 패닝)까지의 좌우 사운드 패닝입니다. 값 0은 패닝이 없음(중앙)을 나타냅니다.
|
예제 ( 예제 사용 방법 )
다음 예제에서는 오른쪽 채널에서만 사운드가 재생되고 볼륨은 50%로 설정됩니다.
생성자에서 사운드가 로드되고 사운드 채널(channel
)에 할당됩니다. SoundTranform 객체(transform
)도 생성됩니다. 첫 번째 인수는 볼륨을 50%로 설정합니다(범위: 0.0 ~ 1.0). 두 번째 인수는 패닝을 설정합니다. 이 예제에서 패닝은 1.0으로 설정되는데, 이는 오른쪽 스피커에서만 사운드가 재생됨을 의미합니다. 이러한 설정이 적용되도록 transform
SoundTranform 객체가 사운드 채널의 souundTransform
속성에 할당됩니다.
참고: 이 예제에 대한 제한된 오류 처리가 기록됩니다.
package { import flash.display.Sprite; import flash.net.URLRequest; import flash.media.Sound; import flash.media.SoundChannel; import flash.media.SoundTransform; import flash.events.IOErrorEvent; public class SoundTransform_constructorExample extends Sprite { public function SoundTransform_constructorExample() { var mySound:Sound = new Sound(); var url:URLRequest = new URLRequest("mySound.mp3"); var channel:SoundChannel; var transform:SoundTransform = new SoundTransform(0.5, 1.0); mySound.load(url); channel = mySound.play(); channel.soundTransform = transform; mySound.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); } private function errorHandler(errorEvent:IOErrorEvent):void { trace("The sound could not be loaded: " + errorEvent.text); } } }
예제 예제 사용 방법
SoundTransformExample.as
다음 예제에서는 MP3 파일을 로드하고 재생합니다. MP3 파일이 재생되면 마우스 또는 다른 사용자 입력 장치를 이동합니다. 사용자 입력 장치를 Stage 위로 움직이면 볼륨과 패닝이 변경됩니다. 이 예제를 실행하려면 MySound.mp3 파일을 SWF 파일과 같은 디렉토리에 넣습니다.
package { import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.*; import flash.media.Sound; import flash.media.SoundChannel; import flash.media.SoundTransform; import flash.net.URLRequest; import flash.utils.Timer; public class SoundTransformExample extends Sprite { private var url:String = "MySound.mp3"; private var soundFactory:Sound; private var channel:SoundChannel; private var positionTimer:Timer; public function SoundTransformExample() { stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; var request:URLRequest = new URLRequest(url); soundFactory = new Sound(); soundFactory.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); soundFactory.load(request); channel = soundFactory.play(); stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); } private function ioErrorHandler(event:Event):void { trace("ioErrorHandler: " + event); } private function setPan(pan:Number):void { trace("setPan: " + pan.toFixed(2)); var transform:SoundTransform = channel.soundTransform; transform.pan = pan; channel.soundTransform = transform; } private function setVolume(volume:Number):void { trace("setVolume: " + volume.toFixed(2)); var transform:SoundTransform = channel.soundTransform; transform.volume = volume; channel.soundTransform = transform; } private function mouseMoveHandler(event:MouseEvent):void { var halfStage:uint = Math.floor(stage.stageWidth / 2); var xPos:uint = event.stageX; var yPos:uint = event.stageY; var value:Number; var pan:Number; if (xPos > halfStage) { value = xPos / halfStage; pan = value - 1; } else if (xPos < halfStage) { value = (xPos - halfStage) / halfStage; pan = value; } else { pan = 0; } var volume:Number = 1 - (yPos / stage.stageHeight); setVolume(volume); setPan(pan); } } }
Tue Jun 12 2018, 03:17 PM Z