Adobe® Flash® Platform용 ActionScript® 3.0 참조 설명서
 |  패키지 및 클래스 목록 숨기기 |  패키지  |  클래스  |  새로운 내용  |  색인  |  부록  |  영어로 표시되는 이유
필터: AIR 30.0 이하, Flash Player 30.0 이하, Flash Lite 4
Flex 4.6 이하, Flash Pro CS6 이하
필터 숨기기
flash.media 

Microphone  - AS3

패키지x

최상위 레벨
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

언어 요소

전역 상수
전역 함수
연산자
명령문, 키워드 및 지시문
특수 유형 연산자

부록

새로운 내용
컴파일러 오류
컴파일러 경고
런타임 오류
ActionScript 3으로 마이그레이션
지원되는 문자 세트
MXML 전용 태그
모션 XML 요소
Timed Text 태그
사용되지 않는 요소의 목록
액세스 가능성 구현 상수
ActionScript 예제 사용 방법
법적 고지 사항
패키지flash.media
클래스public final class Microphone
상속Microphone Inheritance EventDispatcher Inheritance Object

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9

마이크에서 오디오를 모니터링하고 캡처하려면 Microphone 클래스를 사용합니다.

장치 마이크에 액세스하려면 Microphone.getMicrophone() 메서드를 사용할 수 있습니다. 하지만 이 메서드는 어쿠스틱 에코를 제거하는 기능이 없는 단순한 마이크를 반환합니다. 어쿠스틱 에코를 제거하려면 Microphone.getEnhancedMicrophone() 메서드를 사용하여 마이크의 인스턴스를 가져와야 합니다. 이 메서드는 모바일에 대해 어쿠스틱 에코 제거 기능이 활성화된 장치 마이크를 반환합니다. 어쿠스틱 에코 제거 기능을 통해 헤드셋이 필요하지 않은 실시간 오디오/비디오 응용 프로그램을 만들 수 있습니다.

실시간 채팅 응용 프로그램 만들기

실시간 채팅 응용 프로그램을 만들려면 오디오를 캡처해서 Flash Media Server로 전송해야 합니다. NetConnection 및 NetStream 클래스를 사용하여 오디오 스트림을 Flash Media Server로 전송합니다. Flash Media Server는 전송된 오디오를 다른 클라이언트에 브로드캐스팅할 수 있습니다. 헤드셋이 필요하지 않은 채팅 응용 프로그램을 만들려면 어쿠스틱 에코 제거 기능을 사용합니다. 어쿠스틱 에코 제거 기능은 오디오가 마이크로 들어가서 스피커로 흘러나온 후 다시 마이크로 들어갈 때 발생하는 피드백 루프를 방지합니다. 어쿠스틱 에코 제거를 사용하려면 Microphone.getEnhancedMicrophone() 메서드를 호출하여 Microphone 인스턴스에 대한 참조를 가져옵니다. 그런 다음 Microphone.enhancedOptionsMicrophoneEnhancedOptions 클래스의 인스턴스로 설정하고 설정을 구성합니다.

마이크 오디오를 로컬에서 재생

Microphone setLoopback() 메서드를 호출하여 마이크 오디오를 로컬 컴퓨터 또는 장치 오디오 출력으로 직접 라우팅합니다. 제어되지 않은 오디오 피드백은 내재적인 위험 요소이며 마이크 입력을 통해 오디오를 바로 출력할 때 항상 발생할 수 있습니다. setUseEchoSuppression() 메서드가 피드백 증폭의 위험을 줄일 수는 있지만 없앨 수는 없습니다.

로컬 녹음 및 처리를 위해 마이크 오디오 캡처

마이크 오디오를 캡처하려면 Microphone 인스턴스에 의해 전달되는 sampleData 이벤트를 수신합니다. 이 이벤트에 대해 전달된 SampleDataEvent 객체에 오디오 데이터가 포함되어 있습니다.

비디오 캡처에 대한 자세한 내용은 Camera 클래스를 참조하십시오.

런타임 마이크 지원

Microphone 클래스는 모바일 브라우저에서 실행 중인 Flash Player에서 지원되지 않습니다.

AIR 프로파일 지원: Microphone 클래스는 데스크톱 운영 체제와 iOS 및 Android 모바일 장치에서 지원됩니다. AIR for TV 장치에서는 지원되지 않습니다. 여러 프로파일 간 API 지원에 대한 자세한 내용은 AIR 프로파일 지원을 참조하십시오.

Microphone.isSupported 속성을 사용하여 런타임에 지원을 테스트할 수 있습니다. AIR for TV 장치의 경우 Microphone.isSupportedtrue이지만 Microphone.getMicrophone()는 항상 null을 반환합니다.

개인 정보 통제

Flash Player에 표시되는 [개인 정보] 대화 상자에서 마이크에 대한 액세스를 허용하거나 거부할 수 있습니다. 응용 프로그램 윈도우 크기는 최소 215 x 138 픽셀이어야 합니다. 이는 대화 상자를 표시하기 위한 최소 크기로, 이 요구 사항이 충족되지 않으면 액세스가 자동으로 거부됩니다.

AIR 응용 프로그램 샌드박스에서 실행되는 내용에는 마이크에 대한 액세스 권한이 필요하지 않으므로 대화 상자가 표시되지 않습니다. 응용 프로그램 샌드박스 외부에서 실행되는 AIR 내용은 권한을 필요로 하므로 [개인 정보] 대화 상자가 표시됩니다.

예제 보기

추가 정보

관련 API 요소



공용 속성
 속성정의 주체
  activityLevel : Number
[읽기 전용] 마이크가 감지하는 사운드 크기입니다.
Microphone
  codec : String
오디오 압축에 사용할 코덱입니다.
Microphone
 Inheritedconstructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다.
Object
  enableVAD : Boolean
Speex 음성 활동 검출을 사용하도록 설정합니다.
Microphone
  encodeQuality : int
Speex 코덱을 사용할 때의 인코딩된 음성 품질입니다.
Microphone
  enhancedOptions : MicrophoneEnhancedOptions
고급 마이크 옵션을 제어합니다.
Microphone
  framesPerPacket : int
패킷(메시지)으로 전송된 Speex 음성 프레임 수입니다.
Microphone
  gain : Number
마이크가 신호를 증폭하는 양입니다.
Microphone
  index : int
[읽기 전용] Microphone.names에 의해 반환되는 배열에 반영된 마이크의 인덱스입니다.
Microphone
  isSupported : Boolean
[정적] [읽기 전용] 현재 플랫폼에서 Microphone 클래스가 지원되면 isSupported 속성이 true로 설정되고, 그렇지 않으면 false로 설정됩니다.
Microphone
  muted : Boolean
[읽기 전용] 사용자가 마이크에 대한 액세스를 거부(true)했는지 아니면 허용(false)했는지 나타냅니다.
Microphone
  name : String
[읽기 전용] 사운드 캡처 하드웨어에서 반환된 현재 사운드 캡처 장치 이름입니다.
Microphone
  names : Array
[정적] [읽기 전용] 사용 가능한 모든 사운드 캡처 장치의 이름을 포함하는 문자열 배열입니다.
Microphone
  noiseSuppressionLevel : int
Speex 인코더에 사용되는 노이즈의 최대 감쇠(dB, 음수)입니다.
Microphone
      permissionStatus : String
[정적] [읽기 전용] 응용 프로그램에 마이크에 액세스할 수 있는 권한이 부여되었는지 여부를 확인합니다.
Microphone
  rate : int
마이크가 사운드를 캡처하는 속도(kHz)입니다.
Microphone
  silenceLevel : Number
[읽기 전용] 마이크를 활성화하고 activity 이벤트를 전달하는 데 필요한 사운드 크기입니다.
Microphone
  silenceTimeout : int
[읽기 전용] 마이크가 사운드 감지를 중지한 때부터 activity 이벤트가 전달되기까지의 시간(밀리초)입니다.
Microphone
  soundTransform : flash.media:SoundTransform
루프백 모드일 때 마이크 객체의 사운드를 제어합니다.
Microphone
  useEchoSuppression : Boolean
[읽기 전용] 반향 제거를 사용하려면 true로 설정하고 사용하지 않으려면 false로 설정합니다.
Microphone
공용 메서드
 메서드정의 주체
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다.
EventDispatcher
 Inherited
이벤트를 이벤트 흐름으로 전달합니다.
EventDispatcher
  
[정적] 어쿠스틱 에코 제거를 수행할 수 있는 고급 Microphone 객체에 대한 참조를 반환합니다.
Microphone
  
[정적] 오디오를 캡처할 Microphone 객체에 대한 참조를 반환합니다.
Microphone
 Inherited
EventDispatcher 객체에 특정 유형의 이벤트에 대한 리스너가 등록되어 있는지 여부를 확인합니다.
EventDispatcher
 Inherited
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다.
Object
 Inherited
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다.
Object
 Inherited
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher 객체에서 리스너를 제거합니다.
EventDispatcher
  
응용 프로그램에 대한 마이크 권한을 요청합니다.
Microphone
  
setLoopBack(state:Boolean = true):void
마이크로 캡처한 오디오를 로컬 스피커로 라우팅합니다.
Microphone
 Inherited
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다.
Object
  
setSilenceLevel(silenceLevel:Number, timeout:int = -1):void
소리가 입력된다고 인지되는 최소 입력 레벨을 설정합니다. 실질적으로 소리가 소거되기 시작한 시간의 양을 설정할 수도 있습니다.
Microphone
  
setUseEchoSuppression(useEchoSuppression:Boolean):void
오디오 코덱의 반향 억제 기능을 사용할지 여부를 지정합니다.
Microphone
 Inherited
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다.
Object
 Inherited
지정된 객체의 문자열 표현을 반환합니다.
Object
 Inherited
지정된 객체의 프리미티브 값을 반환합니다.
Object
 Inherited
이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다.
EventDispatcher
이벤트
 이벤트 요약 정의 주체
 Inherited[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 얻어 활성화될 때 전달됩니다.EventDispatcher
 Inherited[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 잃고 비활성화될 때 전달됩니다.EventDispatcher
속성 세부 정보

activityLevel

속성
activityLevel:Number  [읽기 전용]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9

마이크가 감지하는 사운드 크기입니다. 값은 0(사운드가 감지되지 않음)부터 100(매우 큰 사운드가 감지됨)까지입니다. 이 속성 값은 Microphone.setSilenceLevel() 메서드에 전달할 최적 값을 계산할 때 유용합니다.

마이크 muted 속성이 true인 경우 이 속성의 값은 항상 -1입니다.



구현
    public function get activityLevel():Number

오류
PermissionError — 응용 프로그램에 마이크를 사용할 수 있는 권한이 없습니다.

관련 API 요소

codec

속성 
codec:String

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 10, AIR 1.5

오디오 압축에 사용할 코덱입니다. 사용할 수 있는 코덱은 Nellymoser(기본값)와 Speex입니다. 열거형 클래스 SoundCodec에는 codec 속성에 유효한 여러 값이 포함되어 있습니다.

Nellymoser 코덱을 사용할 경우 Microphone.rate()를 사용하여 샘플 속도를 설정할 수 있습니다. Speex 코덱을 사용할 경우 샘플 속도는 16kHz로 설정됩니다.

Speex에는 VAD(음성 활동 검출) 기능이 있어 음성이 검출되지 않을 때 대역폭이 자동으로 낮아집니다. 따라서 Speex 코덱을 사용하는 경우에는 묵음 레벨을 0으로 설정하는 것이 좋습니다. 묵음 레벨을 설정하려면 Microphone.setSilenceLevel() 메서드를 사용합니다.



구현
    public function get codec():String
    public function set codec(value:String):void

오류
PermissionError — 응용 프로그램에 마이크를 사용할 수 있는 권한이 없습니다.

관련 API 요소

enableVAD

속성 
enableVAD:Boolean

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 10.1, AIR 2

Speex 음성 활동 검출을 사용하도록 설정합니다.



구현
    public function get enableVAD():Boolean
    public function set enableVAD(value:Boolean):void

오류
PermissionError — 응용 프로그램에 마이크를 사용할 수 있는 권한이 없습니다.

encodeQuality

속성 
encodeQuality:int

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 10, AIR 1.5

Speex 코덱을 사용할 때의 인코딩된 음성 품질입니다. 가능한 값은 0에서 10 사이입니다. 기본값은 6입니다. 다음 표와 같이 숫자가 크면 품질이 높아지지만 대역폭이 더 많이 필요합니다. 나열된 비트율 값은 패킷화 오버헤드가 포함되지 않은 순 비트율을 나타냅니다.

품질 값필요한 비트율(초당 킬로비트)
0 3.95
15.75
27.75
39.80
412.8
516.8
620.6
723.8
827.8
934.2
1042.2



구현
    public function get encodeQuality():int
    public function set encodeQuality(value:int):void

오류
PermissionError — 응용 프로그램에 마이크를 사용할 수 있는 권한이 없습니다.

관련 API 요소

enhancedOptions

속성 
enhancedOptions:MicrophoneEnhancedOptions

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 10.3, AIR 2.7

고급 마이크 옵션을 제어합니다. 자세한 내용은 MicrophoneEnhancedOptions 클래스를 참조하십시오. 이 속성은 향상되지 않은 Microphone 인스턴스에서는 무시됩니다.



구현
    public function get enhancedOptions():MicrophoneEnhancedOptions
    public function set enhancedOptions(value:MicrophoneEnhancedOptions):void

오류
PermissionError — 응용 프로그램에 마이크를 사용할 수 있는 권한이 없습니다.

관련 API 요소

framesPerPacket

속성 
framesPerPacket:int

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 10, AIR 1.5

패킷(메시지)으로 전송된 Speex 음성 프레임 수입니다. 각 프레임의 길이는 20ms입니다. 기본값은 패킷당 두 개 프레임입니다.

메시지에 Speex 프레임이 많을수록 대역폭이 적게 필요하지만 메시지를 보낼 때의 지연 시간이 길어집니다. 반대로, Speex 프레임이 적을수록 대역폭이 많이 필요하지만 지연 시간이 짧아집니다.



구현
    public function get framesPerPacket():int
    public function set framesPerPacket(value:int):void

gain

속성 
gain:Number

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9

마이크가 신호를 증폭하는 양입니다. 유효한 값은 0부터 100까지입니다. 기본값은 50입니다.



구현
    public function get gain():Number
    public function set gain(value:Number):void

오류
PermissionError — 응용 프로그램에 마이크를 사용할 수 있는 권한이 없습니다.

관련 API 요소

index

속성 
index:int  [읽기 전용]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9

Microphone.names에 의해 반환되는 배열에 반영된 마이크의 인덱스입니다.



구현
    public function get index():int

오류
PermissionError — 응용 프로그램에 마이크를 사용할 수 있는 권한이 없습니다.

관련 API 요소

isSupported

속성 
isSupported:Boolean  [읽기 전용]

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 10.1, AIR 2

현재 플랫폼에서 Microphone 클래스가 지원되면 isSupported 속성이 true로 설정되고, 그렇지 않으면 false로 설정됩니다.



구현
    public static function get isSupported():Boolean

muted

속성 
muted:Boolean  [읽기 전용]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9

사용자가 마이크에 대한 액세스를 거부했는지(true) 아니면 허용했는지(false) 나타냅니다. 이 값이 변경되면 status 이벤트가 전달됩니다. 자세한 내용은 Microphone.getMicrophone()을 참조하십시오.



구현
    public function get muted():Boolean

오류
PermissionError — 응용 프로그램에 마이크를 사용할 수 있는 권한이 없습니다.

관련 API 요소

name

속성 
name:String  [읽기 전용]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9

사운드 캡처 하드웨어에서 반환된 현재 사운드 캡처 장치 이름입니다.



구현
    public function get name():String

관련 API 요소

names

속성 
names:Array  [읽기 전용]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9

사용 가능한 모든 사운드 캡처 장치의 이름을 포함하는 문자열 배열입니다. Flash Player의 [개인 정보 설정] 패널을 표시하지 않아도 반환됩니다. 이 배열은 시스템에 있는 사운드 캡처 장치의 수와 각 사운드 캡처 장치의 0부터 시작하는 인덱스를 Microphone.names.length 속성을 통해 제공합니다. 자세한 내용은 Array 클래스 항목을 참조하십시오.

Microphone.names를 호출하면 광범위한 하드웨어 검사가 실시되며, 배열을 구성하려면 수 초가 소요됩니다. 대부분의 경우 기본 마이크를 사용합니다.

참고: 현재의 마이크 이름을 확인하려면 name 속성을 사용합니다.



구현
    public static function get names():Array

관련 API 요소

noiseSuppressionLevel

속성 
noiseSuppressionLevel:int

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 10.1, AIR 2

Speex 인코더에 사용되는 노이즈의 최대 감쇠(dB, 음수)입니다. 사용하도록 설정할 경우 Speex 압축 전 Microphone에서 캡처한 사운드에 노이즈 억제가 적용됩니다. 0으로 설정하면 노이즈 억제가 사용하지 않도록 설정됩니다. 노이즈 억제는 기본적으로 최대 -30dB의 감쇠가 적용되도록 설정됩니다. Nellymoser 코덱을 선택한 경우 무시됩니다.



구현
    public function get noiseSuppressionLevel():int
    public function set noiseSuppressionLevel(value:int):void

오류
PermissionError — 응용 프로그램에 마이크를 사용할 수 있는 권한이 없습니다.
    

permissionStatus

속성 
permissionStatus:String  [읽기 전용]

언어 버전: ActionScript 3.0
런타임 버전: AIR 24.0

응용 프로그램에 마이크에 액세스할 수 있는 권한이 부여되었는지 여부를 확인합니다.



구현
    public static function get permissionStatus():String

관련 API 요소

rate

속성 
rate:int

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9

마이크가 사운드를 캡처하는 속도(kHz)입니다. 사용할 수 있는 값에는 5, 8, 11, 22 및 44가 있습니다. 사운드 캡처 장치가 이 값을 지원하면 8kHz가 기본값입니다. 그렇지 않으면 기본값은 사운드 캡처 장치가 지원하는 8kHz 이상의 다음 사용 가능한 캡처 레벨이며 보통 11kHz입니다.

참고: 다음 표와 같이 실제 속도는 rate 값과 약간 다릅니다.

rate실제 주파수
4444,100Hz
2222,050Hz
1111,025Hz
88,000Hz
55,512Hz



구현
    public function get rate():int
    public function set rate(value:int):void

오류
PermissionError — 응용 프로그램에 마이크를 사용할 수 있는 권한이 없습니다.

관련 API 요소

silenceLevel

속성 
silenceLevel:Number  [읽기 전용]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9

마이크를 활성화하고 activity 이벤트를 전달하는 데 필요한 사운드 크기입니다. 기본값은 10입니다.



구현
    public function get silenceLevel():Number

오류
PermissionError — 응용 프로그램에 마이크를 사용할 수 있는 권한이 없습니다.

관련 API 요소

silenceTimeout

속성 
silenceTimeout:int  [읽기 전용]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9

마이크가 사운드 감지를 중지한 때부터 activity 이벤트가 전달되기까지의 시간(밀리초)입니다. 기본값은 2000(2초)입니다.

이 값을 설정하려면 Microphone.setSilenceLevel() 메서드를 사용합니다.



구현
    public function get silenceTimeout():int

오류
PermissionError — 응용 프로그램에 마이크를 사용할 수 있는 권한이 없습니다.

관련 API 요소

soundTransform

속성 
soundTransform:flash.media:SoundTransform

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9

루프백 모드일 때 마이크 객체의 사운드를 제어합니다.



구현
    public function get soundTransform():flash.media:SoundTransform
    public function set soundTransform(value:flash.media:SoundTransform):void

오류
PermissionError — 응용 프로그램에 마이크를 사용할 수 있는 권한이 없습니다.

useEchoSuppression

속성 
useEchoSuppression:Boolean  [읽기 전용]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9

반향 제거를 사용하려면 true로 설정하고 사용하지 않으려면 false로 설정합니다. Flash Player의 [마이크 설정] 패널에서 [반향 줄이기]가 선택되어 있지 않은 경우 기본값은 false입니다.



구현
    public function get useEchoSuppression():Boolean

관련 API 요소

메서드 세부 정보

getEnhancedMicrophone

()메서드
public static function getEnhancedMicrophone(index:int = -1):Microphone

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 10.3, AIR 2.7

어쿠스틱 에코 제거를 수행할 수 있는 고급 Microphone 객체에 대한 참조를 반환합니다. 어쿠스틱 에코 제거 기능을 통해 헤드셋이 필요하지 않은 오디오/비디오 채팅 응용 프로그램을 만들 수 있습니다.

index 매개 변수는 Microphone.getEnhancedMicrophone() 메서드와 Microphone.getMicrophone() 메서드에 대해 동일한 방식으로 작동합니다.

Android에서 이 메서드를 사용하려면 응응 프로그램 설명자의 Android manifest additions에 MODIFY_AUDIO_SETTINGS 권한을 추가합니다.

중요: 특정 시간에 향상된 마이크 장치 인스턴스가 하나만 있을 수 있습니다. 다른 모든 Microphone 인스턴스는 오디오 데이터 제공을 중단하고 code 속성이 Microphone.UnavailableStatusEvent를 수신합니다. 향상된 오디오를 초기화할 수 없는 경우 이 메서드 호출에서는 null을 반환하고 Microphone.enhancedOptions의 값을 설정해도 아무 효과가 없지만 모든 기존 Microphone 인스턴스는 예전처럼 작동합니다.

향상된 Microphone 객체를 구성하려면 Microphone.enhancedOptions 속성을 설정합니다. 다음 코드에서는 로컬 테스트에 향상된 Microphone 객체와 전이중 어쿠스틱 에코 제거를 사용합니다.

	     var mic:Microphone = Microphone.getEnhancedMicrophone();
	     var options:MicrophoneEnhancedOptions = new MicrophoneEnhancedOptions();
	     options.mode = MicrophoneEnhancedMode.FULL_DUPLEX;
	     mic.enhancedOptions = options;
	     mic.setLoopBack(true);
	 

어쿠스틱 에코 제거를 사용할 때는 setUseEchoSuppression() 메서드가 무시됩니다.

SWF 파일이 Microphone.getEnhancedMicrophone()에 의해 반환된 객체에 액세스하려는 경우, 예를 들어 NetStream.attachAudio()를 호출하는 경우 마이크에 대한 액세스 허용 여부를 선택할 수 있는 [개인 정보] 대화 상자가 표시됩니다. 스테이지 크기가 215 x 138 픽셀 이상이 되도록 하십시오. 이 크기는 대화 상자가 표시되는 데 필요한 최소 크기입니다.

매개 변수

index:int (default = -1) — 마이크의 인덱스 값입니다.

반환값
Microphone — 오디오를 캡처할 Microphone 객체에 대한 참조입니다. 향상된 오디오를 초기화할 수 없는 경우 null을 반환합니다.

관련 API 요소

getMicrophone

()메서드 
public static function getMicrophone(index:int = -1):Microphone

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9

오디오를 캡처할 Microphone 객체에 대한 참조를 반환합니다. 오디오 캡처를 시작하려면 NetStream 객체에 Microphone 객체를 첨부해야 합니다(NetStream.attachAudio() 참조).

Microphone.getMicrophone()을 여러 번 호출해도 동일한 마이크를 참조합니다. 따라서 코드에 mic1 = Microphone.getMicrophone()mic2 = Microphone.getMicrophone()이 포함된 경우 mic1mic2 모두 동일한 (기본) 마이크를 참조합니다.

일반적으로 index의 값을 전달해서는 안됩니다. air.Microphone.getMicrophone()을 호출하기만 하면 기본 마이크에 대한 참조가 반환됩니다. Flash Player 설정 패널의 [마이크 설정] 섹션에서 응용 프로그램에서 사용해야 하는 기본 마이크를 지정할 수 있습니다. 사용자는 웹 브라우저에서 실행되는 Flash Player 내용을 마우스 오른쪽 버튼으로 클릭하여 Flash Player 설정 패널에 액세스할 수 있습니다. index 값을 전달하면 사용자가 선택한 것과 다른 마이크를 참조할 수 있습니다. index는 응용 프로그램이 동시에 두 마이크의 오디오를 캡처하는 것과 같은 경우를 제외하고는 거의 사용되지 않습니다. Adobe AIR에서 실행되는 내용 또한 Flash Player의 기본 마이크 설정을 사용합니다.

Microphone.index 속성을 사용하여 현재 Microphone 객체의 인덱스 값을 구합니다. 그런 다음 이 값을 Microphone 클래스의 다른 메서드로 전달하면 됩니다.

SWF 파일이 Microphone.getMicrophone()에 의해 반환된 객체에 액세스하려면 예를 들어 NetStream.attachAudio()를 호출하는 경우 마이크에 대한 액세스 허용 여부를 선택할 수 있는 [개인 정보] 대화 상자가 표시됩니다. 스테이지 크기가 215 x 138 픽셀 이상이 되도록 하십시오. 이 크기는 대화 상자가 표시되는 데 필요한 최소 크기입니다.

사용자가 이 대화 상자에 응답하면 사용자의 응답을 나타내는 status 이벤트가 전달됩니다. 또한 Microphone.muted 속성을 검사하여 사용자의 마이크에 대한 액세스가 허용 또는 거부 여부를 확인할 수 있습니다.

다른 응용 프로그램에서 마이크를 사용 중이거나 시스템에 설치된 마이크가 없으면 Microphone.getMicrophone()null을 반환합니다. 설치된 마이크가 있는지 여부를 확인하려면 Microphones.names.length를 사용합니다. Flash Player 마이크 설정 패널을 표시하여 사용자가 Microphone.getMicrophone에 의해 참조될 마이크를 선택할 수 있도록 하려면 Security.showSettings()를 사용합니다.

매개 변수

index:int (default = -1) — 마이크의 인덱스 값입니다.

반환값
Microphone — 오디오를 캡처할 Microphone 객체에 대한 참조입니다.

이벤트
status:StatusEvent — 마이크가 상태를 보고할 때 전달됩니다. code 속성 값이 "Microphone.Muted"인 경우 SWF 파일이 사용자 마이크에 액세스하지 못하도록 차단한 것입니다. code 속성 값이 "Microphone.Unmuted"인 경우 SWF 파일이 사용자 마이크에 액세스할 수 있도록 허용한 것입니다.

관련 API 요소


예제  ( 예제 사용 방법 )

다음 예제는 정적 Microphone.getMicrophone() 메서드를 사용하고 상태 이벤트를 수신하여 사용자 마이크에 대한 액세스를 요청하는 방법을 보여 줍니다. ActionScriptExamples.com에서 제공하는 예제입니다.
var mic:Microphone = Microphone.getMicrophone();
mic.setLoopBack();
mic.addEventListener(StatusEvent.STATUS, mic_status);
 
var tf:TextField = new TextField();
tf.autoSize = TextFieldAutoSize.LEFT;
tf.text = "Detecting microphone...";
addChild(tf);
 
function mic_status(evt:StatusEvent):void {
    tf.text = "Microphone is muted?: " + mic.muted;
    switch (evt.code) {
        case "Microphone.Unmuted":
            tf.appendText("\n" + "Microphone access was allowed.");
            break;
        case "Microphone.Muted":
            tf.appendText("\n" + "Microphone access was denied.");
            break;
    }
}

    requestPermission

()메서드 
public function requestPermission():void

언어 버전: ActionScript 3.0
런타임 버전: AIR 24.0

응용 프로그램에 대한 마이크 권한을 요청합니다.


이벤트
PermissionStatus:PermissionEvent — 사용자가 요청된 권한을 부여/거부할 때 전달됩니다.

setLoopBack

()메서드 
public function setLoopBack(state:Boolean = true):void

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9

마이크로 캡처한 오디오를 로컬 스피커로 라우팅합니다.

매개 변수

state:Boolean (default = true)


오류
PermissionError — 응용 프로그램에 마이크를 사용할 수 있는 권한이 없습니다.

setSilenceLevel

()메서드 
public function setSilenceLevel(silenceLevel:Number, timeout:int = -1):void

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9

소리가 입력된다고 인지되는 최소 입력 레벨을 설정합니다. 실질적으로 소리가 소거되기 시작한 시간의 양을 설정할 수도 있습니다.

  • 마이크가 사운드를 전혀 감지하지 않도록 하려면 silenceLevel 값으로 100을 전달합니다. 그러면 activity 이벤트가 전달되지 않습니다.
  • 마이크가 현재 검출하는 사운드의 양을 확인하려면 Microphone.activityLevel을 사용합니다.

Speex에는 VAD(음성 활동 검출) 기능이 있어 음성이 검출되지 않을 때 대역폭이 자동으로 낮아집니다. 따라서 Speex 코덱을 사용하는 경우에는 묵음 레벨을 0으로 설정하는 것이 좋습니다.

활동 검출은 오디오 레벨이 사람이 말하고 있다는 것을 나타낼 때 이를 인지하는 능력입니다. 말하고 있지 않을 때는 관련된 오디오 스트림을 전송할 필요가 없기 때문에 대역폭을 절약할 수 있습니다. 이 정보를 시각적으로 표시하여 현재 소리가 없다는 것을 사용자가 알 수 있도록 할 수 있습니다.

묵음 값은 활동 값에 직접 대응합니다. 완전한 묵음 상태는 활동 값이 0입니다. 계속적인 큰 소음(현재 게인 설정을 기준으로 등록 가능한 크기)은 활동 값이 100입니다. 게인이 적절하게 조절된 후에는 말하지 않고 있을 때 활동 값이 묵음 값보다 작습니다. 말하는 중에는 활동 값이 묵음 값보다 큽니다.

이 메서드는 Camera.setMotionLevel()과 유사하며 둘 다 activity 이벤트가 전달되는 시간을 지정하는 데 사용됩니다. 하지만 두 메서드는 스트림을 제작할 때 현저히 다른 특징을 갖습니다.

  • Camera.setMotionLevel()은 동작을 감지하도록 설계되었으며 대역폭 사용에는 영향을 주지 않습니다. 비디오 스트림에서 동작이 감지되지 않더라도 비디오는 계속 전송됩니다.
  • Microphone.setSilenceLevel()은 대역폭을 최적화하기 위해 설계되었습니다. 오디오 스트림이 없는 묵음 상태라고 판단되면 오디오 데이터가 전송되지 않습니다. 대신에 묵음 상태가 시작되었음을 나타내는 메시지 하나만 전송됩니다.

매개 변수

silenceLevel:Number — 마이크를 활성화하고 activity 이벤트를 전달하는 데 필요한 사운드 크기입니다. 사용할 수 있는 값은 0부터 100까지입니다.
 
timeout:int (default = -1) — Flash Player 또는 Adobe AIR가 사운드가 정지되었음을 인식하고 dispatch 이벤트를 전달하기까지 아무런 동작 없이 경과되어야 하는 밀리초 단위의 시간입니다. 기본값은 2000(2초)입니다. 참고: 서명에 표시된 기본값 -1은 Flash Player 또는 Adobe AIR에서 2000을 사용하도록 지시하는 내부 값입니다.


오류
PermissionError — 응용 프로그램에 마이크를 사용할 수 있는 권한이 없습니다.

관련 API 요소

setUseEchoSuppression

()메서드 
public function setUseEchoSuppression(useEchoSuppression:Boolean):void

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9

오디오 코덱의 반향 억제 기능을 사용할지 여부를 지정합니다. Flash Player의 [마이크 설정] 패널에서 [반향 줄이기]가 선택되어 있지 않은 경우 기본값은 false입니다.

반향을 억제하면 오디오 피드백의 영향을 줄일 수 있습니다. 오디오 피드백은 스피커를 통해 출력되는 사운드가 동일한 시스템에 있는 마이크에 입력될 때 발생합니다. 이 기능은 어쿠스틱 에코 제거와는 다릅니다. 어쿠스틱 에코 제거는 피드백을 완전히 제거합니다. getEnhancedMicrophone() 메서드를 호출하여 어쿠스틱 에코 제거를 사용할 때는 setUseEchoSuppression() 메서드가 무시됩니다.

일반적으로 캡처 중인 사운드를 헤드셋이 아니라 스피커를 통해 재생할 때는 반향 제거를 사용하는 것이 좋습니다. SWF 파일에서 사용자가 사운드 출력 장치를 선택할 수 있도록 허용하는 경우 스피커를 사용 중이며 마이크도 동시에 사용할 예정이라면 Microphone.setUseEchoSuppression(true)을 호출할 수 있습니다.

Flash Player의 [마이크 설정] 패널에서 이 설정 값을 조정할 수도 있습니다.

매개 변수

useEchoSuppression:Boolean — 에코 제거를 사용할지(true), 아니면 사용하지 않을지(false)를 나타내는 부울 값입니다.


오류
PermissionError — 응용 프로그램에 마이크를 사용할 수 있는 권한이 없습니다.

관련 API 요소

MicrophoneExample.as

다음 예제에서는 컴퓨터 마이크에 대한 액세스를 허용한 후 마이크 반향 제거를 사용하여 사운드를 캡처합니다. Security.showSettings() 메서드는 사용자 마이크에 대한 액세스 권한을 요청하는 Flash Player 대화 상자를 표시합니다. setLoopBack(true) 호출은 로컬 스피커에 대한 입력을 다시 라우팅하므로 예제를 실행하는 동안 사운드를 들을 수 있습니다.

두 개의 리스너는 activitystatus 이벤트를 수신합니다. activity 이벤트는 세션 시작 및 종료(해당하는 경우) 시점에 전달되고 이벤트에 대한 정보를 추적하는 activityHandler() 메서드에 의해 캡처됩니다. status 이벤트는 연결된 마이크 객체가 상태 정보를 보고할 때 전달되며, statusHandler() 메서드를 사용하여 캡처 및 추적됩니다.

참고: 이 예제가 제대로 작동하려면 컴퓨터에 마이크가 연결되어 있어야 합니다.

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);
        }
    }
}




[ X ]영어로 표시되는 이유
ActionScript 3.0 참조 설명서의 내용이 영어로 나타납니다.

ActionScript 3.0 참조 설명서 중 일부는 전체 언어로 번역되지 않았습니다. 언어 요소가 번역되지 않은 경우 영어로 나타납니다. 예를 들어 ga.controls.HelpBox 클래스는 어떤 언어로도 번역되지 않았습니다. 그러므로 한국어 버전의 참조 설명서에서 ga.controls.HelpBox 클래스는 영어로 나타납니다.