| Package | flash.media |
| Class | public final class Microphone |
| Inheritance | Microphone EventDispatcher Object |
Microphone 클래스는 주로 Flash Media Server 나 Flex 등의 서버로 사용합니다. 다만, Microphone 클래스는 서버없이도 한정된 방법으로 사용할 수도 있습니다. 예를 들어, 마이크로부터의 사운드를 로컬 컴퓨터의 스피커를 통해 출력할 수가 있습니다. 마이크로부터 오디오를 스트리밍 하려면 , Microphone object를 NetStream object에 관련짓습니다.
주의 :Flash Player 에 [프라이버시] 다이알로그 박스가 표시되어 유저는 마이크에게로의 액세스를 허가하는지 거부하는지를 선택할 수 있습니다. 어플리케이션 윈도우의 크기는 반드시 215 × 138 픽셀 이상으로 설정해 주세요. 이것은, 다이알로그 박스를 표시하기 위해서 필요한 최소 크기입니다.
Microphone object를 작성 또는 참조하려면 ,Microphone.getMicrophone() Methods를 사용합니다.
| property | 정의 | ||
|---|---|---|---|
| activityLevel : Number
[read-only]
마이크가 검지하고 있는 음량.
| Microphone | ||
![]() | constructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor 함수에의 참조입니다.
| Object | |
| gain : Number
마이크에 의한 사운드의 게인 (증폭율)은, 시그널이 전송전에 마이크로 증폭되는 양을 나타냅니다.
| Microphone | ||
| index : int
[read-only]
마이크의 인덱스입니다. 이것은,
Microphone.names로부터 돌려주어지는 배열의 인덱스와 같습니다. | Microphone | ||
| muted : Boolean
[read-only]
유저가 마이크에게로의 액세스를 거부하고 있을까 (
true) 허가하고 있는지 (false)를 지정합니다. | Microphone | ||
| name : String
[read-only]
사운드 capther 하드웨어로부터 돌려주어지는 현재의 사운드 capther 디바이스의 이름입니다.
| Microphone | ||
| names : Array
[static][read-only]
사용할 수 있는 모든 사운드 capther 디바이스의 이름입니다.
| Microphone | ||
![]() | prototype : Object
[static]
클래스 또는 함수 object의 prototype object에의 참조입니다.
| Object | |
| rate : int
마이크의 사운드 capther 레이트 (kHz)입니다.
| Microphone | ||
| silenceLevel : Number
[read-only]
마이크를 유효화하거나
activity 이벤트를 dispatch하기 위해서 필요한 음량입니다. | Microphone | ||
| silenceTimeout : int
[read-only]
마이크가 사운드 검지를 정지하고 나서,
activity 이벤트가 dispatch될 때까지의 시간 (밀리 세컨드 단위)입니다. | Microphone | ||
| soundTransform : SoundTransform
loopback 모드가 되어 있을 때, 이 microphone object의 사운드를 제어합니다.
| Microphone | ||
| useEchoSuppression : Boolean
[read-only]
에코 억제가 유효하게 되어 있는 경우는
true, 그 이외의 경우는 false 를 돌려줍니다. | Microphone | ||
| Methods | 정의 | ||
|---|---|---|---|
![]() | addEventListener (type:String , listener:Function , useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
event listener objects를 EventDispatcher object에 등록해, listener가 이벤트의 통지를 받도록(듯이) 합니다.
| EventDispatcher | |
![]() | dispatchEvent (event:Event ):Boolean
이벤트를 event 플로우(flow)에 dispatch합니다.
| EventDispatcher | |
| getMicrophone (index:int = 0):Microphone
[static]
Microphone object를 작성 또는 참조하려면 ,
Microphone.getMicrophone() Methods를 사용해, 현재의 마이크의 인덱스치를 취득합니다. | Microphone | ||
![]() | hasEventListener (type:String ):Boolean
EventDispatcher object에, 특정의 event 타입에 대해서 등록된 listener가 있을지 어떨지를 확인합니다.
| EventDispatcher | |
![]() | hasOwnProperty (name:String ):Boolean
object로 지정된 property가 정의되고 있는지 어떤지를 나타냅니다.
| Object | |
![]() | isPrototypeOf (theClass:Object ):Boolean
Object 클래스의 인스턴스가, Parameters로서 지정된 object의 prototype 체인내에 있을지 어떨지를 나타냅니다.
| Object | |
![]() | propertyIsEnumerable (name:String ):Boolean
지정된 property가 존재해, 열거 가능한가 어떤가를 나타냅니다.
| Object | |
![]() | removeEventListener (type:String , listener:Function , useCapture:Boolean = false):void
EventDispatcher object로부터 listener를 삭제합니다.
| EventDispatcher | |
| setLoopBack (state:Boolean = true):void
마이크를 loopback 모드로 설정하는지, 오프로 합니다.
| Microphone | ||
![]() | setPropertyIsEnumerable (name:String , isEnum:Boolean = true):void
루프 처리에 대한 다이나믹 property의 가용성을 설정합니다.
| Object | |
| setSilenceLevel (silenceLevel:Number , timeout:int = -1):void
사운드라고 보는 최소 입력 레벨과 실제로 무음 상태가 시작되었다고 볼 때까지의 무음 시간의 길이를 설정합니다. 후자는 생략 가능합니다.
| Microphone | ||
| setUseEchoSuppression (useEchoSuppression:Boolean ):void
오디오 코덱의 에코 억제 기능을 사용할지 어떨지를 지정합니다.
| Microphone | ||
![]() | toString ():String
지정된 object의 string 표현을 돌려줍니다.
| Object | |
![]() | valueOf ():Object
지정된 object의 원시적치를 돌려줍니다.
| Object | |
![]() | willTrigger (type:String ):Boolean
지정된 event 타입에 대해, 이 EventDispatcher object 또는 그 조상에게 event listener가 등록되어 있는지 어떤지를 확인합니다.
| EventDispatcher | |
| 이벤트 | 일람 | 정의 | ||
|---|---|---|---|---|
| activity | 마이크가 세션을 개시 또는 종료했을 때에 dispatch됩니다. | Microphone | ||
| status | 마이크가 그 스테이터스를 리포트했을 때에 dispatch됩니다. | Microphone | ||
| activityLevel | property |
activityLevel:Number [read-only]
마이크가 검지하고 있는 음량. 값의 범위는 0 (사운드가 검지되어 있지 않다) ~ 100 (매우 큰 소리량이 검지되고 있다)입니다. 이 property치에 근거해,Microphone.setSilenceLevel() Methods에 건네주는 적절한 값을 판단할 수 있습니다.
마이크를 이용할 수 있는 상태여도,Microphone.getMicrophone() 가 아직 불려 가지 않기 위해(때문에) 아직 사용되어 있지 않은 경우는, 이 property는 -1 으로 설정됩니다.
public function get activityLevel():Number
See also
| gain | property |
gain:Number [read-write]마이크에 의한 사운드의 게인 (증폭율)은, 시그널이 전송전에 마이크로 증폭되는 양을 나타냅니다. 값 0 은 0 배, 즉 사운드가 전송 되지 않는 것을 나타냅니다.
이 설정은 스테레오의 볼륨 안주와 같은 것이라고 생각할 수가 있습니다. 0 은 볼륨없이 있어, 50 은 통상의 볼륨입니다. 50 보다 작은 값은 통상보다 낮은 볼륨, 50 보다 큰 값은 통상보다 큰 볼륨을 나타냅니다. 유효한 값은 0 ~ 100 입니다. 유저는 [Macromedia Flash Player 설정] 패널의 [마이크] 를 사용해 이 값을 변경할 수 있습니다.
Implements public function get gain():Number
public function set gain(value:Number ):void
See also
| index | property |
index:int [read-only]
마이크의 인덱스입니다. 이것은,Microphone.names로부터 돌려주어지는 배열의 인덱스와 같습니다.
public function get index():int
See also
| muted | property |
muted:Boolean [read-only]
유저가 마이크에게로의 액세스를 거부하고 있을까 (true) 허가하고 있는지 (false)를 지정합니다. 이 값이 바뀌면,Microphone.onStatus 가 불려 갑니다. 상세한 것에 대하여는,Microphone.getMicrophone()를 참조해 주세요.
public function get muted():Boolean
See also
| name | property |
name:String [read-only]사운드 capther 하드웨어로부터 돌려주어지는 현재의 사운드 capther 디바이스의 이름입니다.
Implements public function get name():String
See also
| names | property |
names:Array [read-only]
사용할 수 있는 모든 사운드 capther 디바이스의 이름입니다. 이 이름은, 유저에게 [Macromedia Flash Player 설정] 패널의 [프라이버시] 를 표시하지 않고 돌려주어집니다. 이 배열에 의해, 각 사운드 capther 디바이스의 제로로부터 시작되는 인덱스와 시스템상의 각 사운드 capther 디바이스의 수 (Microphone.names.length property)를 조사할 수가 있습니다. 상세한 것에 대하여는, Array 클래스의 엔트리를 참조해 주세요.
Microphone.names property를 호출하면, 하드웨어를 광범위하게 걸쳐 조사할 필요가 있어, 배열을 작성하기까지 몇초간 걸리는 일이 있습니다. 대부분의 경우는, 디폴트의 마이크를 그대로 사용할 수 있습니다.
메모:현재의 마이크의 이름을 조사하려면 ,name property를 사용합니다.
public static function get names():Array
See also
| rate | property |
rate:int [read-write]마이크의 사운드 capther 레이트 (kHz)입니다. 디폴트치는 8 kHz 입니다만, 사운드 capther 디바이스가 이 값에 대응하고 있을 필요가 있습니다. 대응하고 있지 않는 경우, 디폴트치는 그 사운드 capther 디바이스가 대응하고 있는 8 kHz 보다 높은 레이트 가운데, 8 kHz 에 가장 가까운 값이 됩니다. 통상은 11 kHz 입니다.
Implements public function get rate():int
public function set rate(value:int ):void
| silenceLevel | property |
silenceLevel:Number [read-only]
마이크를 유효화하거나activity 이벤트를 dispatch하기 위해서 필요한 음량입니다. 디폴트치는 10 입니다.
public function get silenceLevel():Number
See also
| silenceTimeout | property |
silenceTimeout:int [read-only]
마이크가 사운드 검지를 정지하고 나서,activity 이벤트가 dispatch될 때까지의 시간 (밀리 세컨드 단위)입니다. 디폴트치는 2000 (2 초)입니다.
이 값을 설정하려면 ,Microphone.setSilenceLevel() Methods를 사용합니다.
public function get silenceTimeout():int
See also
| soundTransform | property |
soundTransform:SoundTransform [read-write]loopback 모드가 되어 있을 때, 이 microphone object의 사운드를 제어합니다.
Implements public function get soundTransform():SoundTransform
public function set soundTransform(value:SoundTransform ):void
| useEchoSuppression | property |
useEchoSuppression:Boolean [read-only]
에코 억제가 유효하게 되어 있는 경우는 true, 그 이외의 경우는 false 를 돌려줍니다. [Macromedia Flash Player 설정] 패널의 [마이크] 로 유저가 [에코를 줄이는] 을 선택하고 있지 않는 한, 디폴트치는 false 입니다.
public function get useEchoSuppression():Boolean
See also
| getMicrophone | () | Methods |
public static function getMicrophone(index:int = 0):Microphone
Microphone object를 작성 또는 참조하려면 ,Microphone.getMicrophone() Methods를 사용해, 현재의 마이크의 인덱스치를 취득합니다. 다음에, Microphone 클래스의 Methods에 이 값을 건네줍니다.
index:int (default = 0) — 마이크의 인덱스치입니다.
|
Microphone |
status:StatusEvent — 마이크가 그 스테이터스를 리포트했을 때에 dispatch됩니다. code property의 값이 "Microphone.muted" 인 경우, SWF 파일의 마이크에게로의 액세스 허가를 거부한 것이 됩니다. code property의 값이 "Microphone.unmuted" 인 경우, SWF 파일의 마이크에게로의 액세스를 허가하게 됩니다. |
See also
| setLoopBack | () | Methods |
public function setLoopBack(state:Boolean = true):void 마이크를 loopback 모드로 설정하는지, 오프로 합니다. 이 Methods에 의해, 마이크 사운드가 로컬 스피커로 전환할 수 있습니다.
Parametersstate:Boolean (default = true) |
| setSilenceLevel | () | Methods |
public function setSilenceLevel(silenceLevel:Number , timeout:int = -1):void 사운드라고 보는 최소 입력 레벨과 실제로 무음 상태가 시작되었다고 볼 때까지의 무음 시간의 길이를 설정합니다. 후자는 생략 가능합니다.
silenceLevel 에 100 을 지정합니다. 이렇게 하면,activity 가 dispatch될 것은 없습니다. Microphone.activityLevel 를 사용합니다. 액티버티 검지와는, 사람이 이야기하고 있는 것을 오디오 레벨에 근거해 검지하는 기능입니다. 아무도 이야기하지 않을 때는, 관련지을 수 있고 있는 오디오 스트림(Stream)을 송신할 필요가 없기 때문에, 대역폭을 절약할 수 있습니다. 이 정보를 이용해, 유저 (또는 다른 누군가)가 이야기하지 않은 것을 시각적인 피드백으로서 가리킬 수도 있습니다.
침묵치는 액티버티치에 직접 대응합니다. 완전한 침묵의 액티버티치는 0 입니다. 계속적인 큰 소리량 (현재의 게인에 근거해 설정할 수 있는 큰 소리량)의 액티버티치는 100 입니다. 게인 (증폭율)을 적절히 조정하면, 이야기하지 않을 때에는 액티버티치가 침묵치보다 작아집니다. 이야기하고 있을 때는, 액티버티치는 침묵치보다 커집니다.
이 Methods의 목적은 Camera.setMotionLevel() 를 닮아 있습니다. 어느 쪽의 Methods도,activity 이벤트의 dispatch 방법을 지정하기 위해서 사용합니다. 다만, Publish 하는 스트림(Stream)에 대한 영향이라고 하는 점에서는, 이 2 개의 Methods는 크게 다릅니다.
Camera.setMotionLevel() 는 모션을 검지해, 사용하는 대역폭에는 영향을 주지 않게 설계되고 있습니다. 비디오 스트림(Stream)로 모션이 검지되지 않는 동안도, 비디오는 송신됩니다. Microphone.setSilenceLevel() 는 대역폭을 최적화하도록(듯이) 설계되고 있습니다. 오디오 스트림(Stream)을 무음이라고 생각되는 경우에는, 오디오 데이터는 송신되지 않습니다. 대신에, 무음 상태가 시작된 것을 나타내는 메세지가 송신됩니다. silenceLevel:Number — 마이크를 유효화하거나activity 이벤트를 dispatch하기 위해서 필요한 음량입니다. 사용 가능한 값의 범위는 0 에서 100 입니다.
|
|
timeout:int (default = -1) — 액티버티가 없는 경우에, 사운드가 정지했다고 판정해 dispatch 이벤트를 dispatch할 때까지의 시간 (밀리 세컨드 단위)입니다. 디폴트치는 2000 (2 초)입니다. (메모 :서명으로 나타나는 -1 의 디폴트치는, 2000 을 사용하는 것을 Flash Player 에게 전하는 내부치입니다. )
|
See also
| setUseEchoSuppression | () | Methods |
public function setUseEchoSuppression(useEchoSuppression:Boolean ):void
오디오 코덱의 에코 억제 기능을 사용할지 어떨지를 지정합니다. [Macromedia Flash Player 설정] 패널의 [마이크] 로 유저가 [에코를 줄이는] 을 선택하고 있지 않는 한, 디폴트치는 false 입니다.
에코 억제란, 스피커로부터 나온 사운드가 같은 컴퓨터의 마이크에 의해 주워지는 오디오 피드백의 영향을 줄이는 기능입니다. 이것은, 피드백을 완전하게 제거하는 에코 제거 기능과는 다릅니다.
일반적으로, capther 하는 사운드를 헤드 세트는 아니고 같은 컴퓨터의 스피커로 재생하는 경우에는, 에코 억제 기능을 사용하는 것이 추천 됩니다. 사운드 출력 디바이스를 유저가 선택할 수 있도록(듯이) 한 SWF 파일에서는, 유저가 스피커를 선택해, 마이크도 사용하는 경우에 Microphone.setUseEchoSuppression(true) 를 호출하는 것을 추천합니다.
유저는,[Macromedia Flash Player 설정] 패널의 [마이크] 로 이러한 설정을 조정할 수도 있습니다.
ParametersuseEchoSuppression:Boolean — 에코 억제를 사용할까 (true) 사용하지 않는가 (false)를 나타내는 불리언 값입니다.
|
See also
| activity | event |
flash.events.ActivityEvent
flash.events.ActivityEvent.ACTIVITY
마이크가 세션을 개시 또는 종료했을 때에 dispatch됩니다.
ActivityEvent.ACTIVITY 정수는,activity event object의 type property치를 정의합니다.
이 이벤트에는, 다음의 property가 있습니다.
| Property | Value |
|---|---|
activating | 디바이스가 액티브하게 되어 있는 경우는 true, 비액티브하게 되어 있는 경우는 false 입니다. |
bubbles | false |
cancelable | false 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다. |
currentTarget | event listener로 Event object를 액티브하게 처리하고 있는 object입니다. |
target | Camera object나 Microphone object 등, 세션을 개시 또는 종료하고 있는 object입니다. |
| status | event |
flash.events.StatusEvent
flash.events.StatusEvent.STATUS
마이크가 그 스테이터스를 리포트했을 때에 dispatch됩니다. code property의 값이 "Microphone.muted" 인 경우, SWF 파일의 마이크에게로의 액세스 허가를 거부한 것이 됩니다. code property의 값이 "Microphone.unmuted" 인 경우, SWF 파일의 마이크에게로의 액세스를 허가하게 됩니다.
status event object의 type property의 값을 정의합니다.
이 이벤트에는, 다음의 property가 있습니다.
| Property | Value |
|---|---|
bubbles | false |
cancelable | false 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다. |
code | object의 스테이터스의 설명입니다. |
currentTarget | event listener로 Event object를 액티브하게 처리하고 있는 object입니다. |
level | "status","warning","error" 등, 메세지의 카테고리입니다. |
target | 그 스테이터스를 리포트하는 object입니다. |
See also
Security.showSettings() Methods에 의해 Flash Player 의 다이알로그 박스가 표시되어
마이크에게로의 액세스 허가가 요구됩니다. setLoopBack(true) Methods의 호출로
입력을 로컬 스피커로 전환하기 (위해)때문에, 예를 실행중에 사운드를 들을 수가 있습니다.
2 살의 listener는,activity 이벤트와
status 이벤트를 받습니다. activity 이벤트는
(존재하는 경우는) 세션의 개시시와 종료시에 방출되어activityHandler() Methods에 의해 capther 됩니다.
이 Methods는 이벤트의 정보를 트레이스 합니다. status 이벤트가 dispatch되는 것은,
관련지을 수 있었던 Microphone object가 스테이터스 정보를 리포트했을 경우이며, 이 object는
statusHandler() Methods로 capther 또는 트레이스 됩니다.
메모:이 예에서는, 올바르게 기능시키기 위해서(때문에) 컴퓨터에 마이크를 접속해 둔다 필요가 있습니다.
package {
import flash.display.Sprite;
import flash.events. *;
import flash.media.Microphone;
import flash.system.Security;
public class MicrophoneExample extends Sprite {
public function MicrophoneExample() {
var mic:Microphone = Microphone.getMicrophone();
Security.showSettings("2");
mic.setLoopBack(true);
if (mic ! = null) {
mic.setUseEchoSuppression(true);
mic.addEventListener(ActivityEvent.ACTIVITY, activityHandler);
mic.addEventListener(StatusEvent.STATUS, statusHandler);
}
}
private function activityHandler(event:ActivityEvent) :void {
trace("activityHandler: " + event);
}
private function statusHandler(event:StatusEvent) :void {
trace("statusHandler: " + event);
}
}
}
코멘트가 추가되었을 경우, 메일로 받기. | 코멘트 리포트
현재의 페이지: http://flexdocs.kr/docs/flex2/langref/flash/media/Microphone.html