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

Camera  - 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 Camera
상속Camera Inheritance EventDispatcher Inheritance Object

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

클라이언트 시스템 또는 장치 카메라에서 비디오를 캡처하려면 Camera 클래스를 사용합니다. Video 클래스를 사용하여 비디오를 로컬로 모니터링합니다. NetConnection 및 NetStream 클래스를 사용하여 비디오를 Flash Media Server로 전송합니다. Flash Media Server는 비디오 스트림을 다른 서버로 보내고 Flash Player 또는 AIR를 실행 중인 다른 클라이언트로 브로드캐스팅할 수 있습니다.

Camera 인스턴스는 비디오를 가로 종횡비로 캡처합니다. 휴대폰과 같이 스크린 방향을 변경할 수 있는 장치에서 카메라에 연결된 Video 객체는 가로 종횡비 방향으로 된 정상적인 비디오만 표시합니다. 따라서 모바일 응용 프로그램은 비디오를 표시할 때 가로 방향을 사용해야 하며 자동으로 회전해서는 안 됩니다.

iOS에서 전면 카메라의 비디오는 미러링되지만 Android에서는 미러링되지 않습니다.

오토포커스 카메라가 장착된 휴대 장치에서 오토포커스 기능이 자동으로 활성화됩니다. 연속 오토포커스 기능을 지원하지 않는 카메라의 경우(많은 휴대 장치 카메라가 지원하지 않음) Camera 객체가 비디오 스트림에 연결되어 있는 상태에서 setMode() 메서드가 호출될 때마다 카메라 초점이 맞춰집니다. 데스크톱 컴퓨터에서는 오토포커스 기능이 카메라 드라이버 및 설정에 따라 결정됩니다.

Android 및 iOS에서는 AIR 응용 프로그램이 활성화된 전경 응용 프로그램이 아닌 경우 카메라가 비디오를 캡처하지 않습니다. 또한 응용 프로그램이 배경으로 실행되면 스트리밍 연결이 끊어질 수도 있습니다. iOS에서는 응용 프로그램이 GPU 렌더링 모드를 사용하면 카메라 비디오를 표시할 수 없습니다. 물론 카메라 비디오를 서버로 스트리밍할 수는 있습니다.

AIR 프로파일 지원: 이 기능은 AIR for TV 장치에서 지원되지 않습니다. 여러 프로파일 간 API 지원에 대한 자세한 내용은 AIR 프로파일 지원을 참조하십시오. AIR for TV 장치의 경우 Camera.isSupportedtrue이지만 Camera.getCamera()는 항상 null을 반환합니다. 카메라 액세스는 모바일 브라우저에서 지원되지 않습니다.

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

중요: 런타임에 표시되는 [개인 정보] 대화 상자에서 카메라에 대한 액세스를 허용하거나 거부할 수 있습니다. 응용 프로그램의 윈도우 크기가 대화 상자를 표시하는 데 필요한 최소 크기인 215 x 138픽셀 이상인지 확인합니다.

Camera 객체를 만들거나 참조하려면 getCamera() 메서드를 사용합니다.

예제 보기

추가 정보

관련 API 요소



공용 속성
 속성정의 주체
  activityLevel : Number
[읽기 전용] 카메라가 감지하는 동작의 양입니다.
Camera
  bandwidth : int
[읽기 전용] 현재 내보내는 비디오 피드가 사용할 수 있는 바이트 단위의 최대 대역폭입니다.
Camera
 Inheritedconstructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다.
Object
  currentFPS : Number
[읽기 전용] 현재 카메라가 데이터를 캡처하는 비율을 초당 프레임 수로 나타냅니다.
Camera
  fps : Number
[읽기 전용] 초당 프레임 단위의 카메라가 데이터를 캡처할 수 있는 최대 속도입니다.
Camera
  height : int
[읽기 전용] 현재 캡처의 높이를 픽셀 단위로 나타냅니다.
Camera
  index : int
[읽기 전용] 사용할 수 있는 모든 카메라를 나열하는 Camera.names 배열에서 카메라의 위치를 지정하며 0부터 시작하는 인덱스입니다.
Camera
  isSupported : Boolean
[정적] [읽기 전용] 현재 플랫폼에서 Camera 클래스가 지원되면 isSupported 속성이 true로 설정되고, 그렇지 않으면 false로 설정됩니다.
Camera
  keyFrameInterval : int
[읽기 전용] 비디오 압축 알고리즘을 통해 삽입하지 않고 전체를 전송할 비디오 프레임(키프레임)의 수입니다.
Camera
  loopback : Boolean
[읽기 전용] Flash Media Server를 사용하여 실시간 전송할 때처럼 카메라에서 캡처 중인 대상의 로컬 뷰를 압축했다가 압축 해제할지(true) 아니면 압축하지 않을지(false)를 나타냅니다.
Camera
  motionLevel : int
[읽기 전용] activity 이벤트를 호출하는 데 필요한 동작의 양입니다.
Camera
  motionTimeout : int
[읽기 전용] 카메라가 동작 감지를 중지한 때부터 activity 이벤트가 호출되기까지의 시간(밀리초)입니다.
Camera
  muted : Boolean
[읽기 전용] 사용자가 Flash Player [개인 정보] 대화 상자에서 카메라에 대한 액세스를 거부했는지(true) 아니면 허용했는지(false) 나타내는 부울 값입니다.
Camera
  name : String
[읽기 전용] 카메라 하드웨어에서 반환되는 현재 카메라의 이름입니다.
Camera
  names : Array
[정적] [읽기 전용] 사용 가능한 모든 카메라의 이름을 포함하는 문자열의 배열입니다.
Camera
      permissionStatus : String
[정적] [읽기 전용] 응용 프로그램에 카메라에 액세스할 수 있는 권한이 부여되었는지 여부를 확인합니다.
Camera
      position : String
[읽기 전용] 장치에서 카메라가 위치한 측면을 지정합니다.
Camera
  quality : int
[읽기 전용] 요청한 레벨의 화질로, 각 비디오 프레임에 적용되는 압축 비율의 크기에 따라 결정됩니다.
Camera
  width : int
[읽기 전용] 현재 캡처의 너비를 픽셀 단위로 나타냅니다.
Camera
공용 메서드
 메서드정의 주체
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다.
EventDispatcher
  
픽셀 데이터의 사각형 영역에서 바이트 배열을 채웁니다. 각 픽셀에 대한 부호 없는 정수(곱하지 않은 32비트 픽셀 값)를 바이트 배열에 작성합니다.
Camera
  
copyToVector(rect:Rectangle, destination:Vector.<uint>):void
픽셀 데이터의 사각형 영역에서 벡터를 채웁니다.
Camera
 Inherited
이벤트를 이벤트 흐름으로 전달합니다.
EventDispatcher
  
마지막 프레임을 비트맵에 복사합니다.
Camera
  
getCamera(name:String = null):Camera
[정적] 비디오를 캡처하는 Camera 객체의 참조를 반환합니다.
Camera
 Inherited
EventDispatcher 객체에 특정 유형의 이벤트에 대한 리스너가 등록되어 있는지 여부를 확인합니다.
EventDispatcher
 Inherited
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다.
Object
 Inherited
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다.
Object
 Inherited
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher 객체에서 리스너를 제거합니다.
EventDispatcher
  
응용 프로그램에 대한 카메라 권한을 요청합니다.
Camera
  
setKeyFrameInterval(keyFrameInterval:int):void
비디오 압축 알고리즘을 통해 삽입하지 않고 전체를 전송할 비디오 프레임(키프레임)을 지정합니다.
Camera
  
setLoopback(compress:Boolean = false):void
카메라의 로컬 뷰에 압축된 비디오 스트림을 사용할지 여부를 지정합니다.
Camera
  
setMode(width:int, height:int, fps:Number, favorArea:Boolean = true):void
카메라 캡처 모드를 지정된 요구 사항을 최적으로 만족시키는 기본 모드로 설정합니다.
Camera
  
setMotionLevel(motionLevel:int, timeout:int = 2000):void
activity 이벤트를 전달하는 데 필요한 동작의 양을 지정합니다.
Camera
 Inherited
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다.
Object
  
setQuality(bandwidth:int, quality:int):void
현재 내보내는 비디오 피드의 초당 최대 대역폭이나 요청되는 화질을 설정합니다.
Camera
 Inherited
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다.
Object
 Inherited
지정된 객체의 문자열 표현을 반환합니다.
Object
 Inherited
지정된 객체의 프리미티브 값을 반환합니다.
Object
 Inherited
이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다.
EventDispatcher
이벤트
 이벤트 요약 정의 주체
 Inherited[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 얻어 활성화될 때 전달됩니다.EventDispatcher
  카메라에서 세션이 시작되거나 종료될 때 전달됩니다.Camera
 Inherited[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 잃고 비활성화될 때 전달됩니다.EventDispatcher
  응용 프로그램이 장치의 카메라를 사용할 수 있는 권한을 요청할 때 전달됩니다.Camera
  카메라가 상태를 보고할 때 전달됩니다.Camera
  새 카메라 프레임이 런타임에 의해 처리되어 복사할 수 있게 된 후에 전달됩니다.Camera
속성 세부 정보

activityLevel

속성
activityLevel:Number  [읽기 전용]

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

카메라가 감지하는 동작의 양입니다. 0(감지되는 동작 없음)부터 100(많은 양의 동작이 감지되고 있음)까지의 값입니다. 이 속성 값은 setMotionLevel() 메서드에 설정을 전달해야 할지 여부를 결정할 때 유용합니다.

카메라를 사용할 수 있는 상태이지만 Video.attachCamera() 메서드가 호출되지 않아 아직 사용하지 않고 있으면 이 속성은 -1로 설정됩니다.

압축되지 않은 로컬 비디오만 스트리밍하는 경우에는 이벤트 핸들러에 함수가 할당되어 있을 때만 이 속성이 설정됩니다. 그렇지 않으면 이 속성은 설정되지 않습니다.



구현
    public function get activityLevel():Number

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

관련 API 요소

bandwidth

속성 
bandwidth:int  [읽기 전용]

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

현재 내보내는 비디오 피드가 사용할 수 있는 바이트 단위의 최대 대역폭입니다. 이 값이 0이면 원하는 프레임 품질을 유지하는 데 필요한 대역폭을 사용할 수 있음을 의미합니다.

이 속성을 설정하려면 setQuality() 메서드를 사용합니다.



구현
    public function get bandwidth():int

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

관련 API 요소

currentFPS

속성 
currentFPS:Number  [읽기 전용]

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

현재 카메라가 데이터를 캡처하는 비율을 초당 프레임 수로 나타냅니다. 이 속성은 설정할 수 없습니다. 그러나 setMode() 메서드를 사용하여 관련 속성인 fps를 설정함으로써 카메라가 데이터를 캡처하는 최대 프레임 속도를 지정할 수 있습니다.



구현
    public function get currentFPS():Number

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

관련 API 요소

fps

속성 
fps:Number  [읽기 전용]

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

초당 프레임 단위의 카메라가 데이터를 캡처할 수 있는 최대 속도입니다. 가능한 최대 속도는 카메라의 성능에 따라 다르며 이 프레임 속도에 도달하지 않을 수도 있습니다.

  • 이 속성에 대해 원하는 값을 설정하려면 setMode() 메서드를 사용합니다.
  • 카메라의 현재 데이터 캡처 비율을 확인하려면 currentFPS 속성을 사용합니다.



구현
    public function get fps():Number

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

관련 API 요소

height

속성 
height:int  [읽기 전용]

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

현재 캡처의 높이를 픽셀 단위로 나타냅니다. 이 속성 값을 설정하려면 setMode() 메서드를 사용합니다.



구현
    public function get height():int

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

관련 API 요소

index

속성 
index:int  [읽기 전용]

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

사용할 수 있는 모든 카메라를 나열하는 Camera.names 배열에서 카메라의 위치를 지정하며 0부터 시작하는 인덱스입니다.



구현
    public function get index():int

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

관련 API 요소

isSupported

속성 
isSupported:Boolean  [읽기 전용]

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

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



구현
    public static function get isSupported():Boolean

keyFrameInterval

속성 
keyFrameInterval:int  [읽기 전용]

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

비디오 압축 알고리즘을 통해 삽입하지 않고 전체를 전송할 비디오 프레임(키프레임)의 수입니다. 기본값은 15이고, 이 값은 15번째 프레임마다 키프레임이 되는 것을 의미합니다. 1의 값은 모든 프레임이 키프레임임을 의미합니다. 허용되는 값은 1~300입니다.



구현
    public function get keyFrameInterval():int

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

관련 API 요소

loopback

속성 
loopback:Boolean  [읽기 전용]

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

Flash Media Server를 사용하여 실시간 전송할 때처럼 카메라에서 캡처 중인 대상의 로컬 뷰를 압축했다가 압축 해제할지(true) 아니면 압축하지 않을지(false)를 나타냅니다. 기본값은 false입니다.

압축된 스트림은 비디오 품질 설정 미리 보기와 같은 테스트에 유용하지만 상당한 처리 비용이 듭니다. 로컬 뷰는 실시간 연결과 마찬가지로 전송용으로 압축, 편집된 다음 로컬에서 볼 수 있도록 압축 해제됩니다.

이 값을 설정하려면 Camera.setLoopback()을 사용합니다. 이 속성이 true일 때 사용할 압축 정도를 설정하려면 Camera.setQuality()를 사용합니다.



구현
    public function get loopback():Boolean

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

관련 API 요소

motionLevel

속성 
motionLevel:int  [읽기 전용]

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

activity 이벤트를 호출하는 데 필요한 동작의 양입니다. 사용할 수 있는 값은 0부터 100까지입니다. 기본값은 50입니다.

motionLevel 속성 값과는 관계없이 비디오를 표시할 수 있습니다. 자세한 내용은 setMotionLevel()을 참조하십시오.



구현
    public function get motionLevel():int

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

관련 API 요소

motionTimeout

속성 
motionTimeout:int  [읽기 전용]

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

카메라가 동작 감지를 중지한 때부터 activity 이벤트가 호출되기까지의 시간(밀리초)입니다. 기본값은 2000(2초)입니다.

이 값을 설정하려면 setMotionLevel()을 사용합니다.



구현
    public function get motionTimeout():int

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

관련 API 요소

muted

속성 
muted:Boolean  [읽기 전용]

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

사용자가 Flash Player [개인 정보] 대화 상자에서 카메라에 대한 액세스를 거부했는지(true) 아니면 허용했는지(false) 나타내는 부울 값입니다. 이 값이 변경되면 status 이벤트가 전달됩니다.



구현
    public function get muted():Boolean

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

관련 API 요소

name

속성 
name:String  [읽기 전용]

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

카메라 하드웨어에서 반환되는 현재 카메라의 이름입니다.



구현
    public function get name():String

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

관련 API 요소

names

속성 
names:Array  [읽기 전용]

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

사용 가능한 모든 카메라의 이름을 포함하는 문자열의 배열입니다. 이 배열에 액세스해도 Flash Player의 [개인 정보] 대화 상자가 표시되지 않습니다. 이 배열은 names.length를 통해 시스템에 있는 카메라 수와 각 카메라의 0부터 시작하는 인덱스를 제공합니다.

names 속성을 호출하려면 하드웨어를 좀 더 광범위하게 확인해야 합니다. 대부분의 경우 기본 카메라가 사용됩니다.



구현
    public static function get names():Array

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

관련 API 요소

    

permissionStatus

속성 
permissionStatus:String  [읽기 전용]

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

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



구현
    public static function get permissionStatus():String

관련 API 요소

    

position

속성 
position:String  [읽기 전용]

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

장치에서 카메라가 위치한 측면을 지정합니다.

position 속성을 사용하여 휴대 장치의 카메라가 전면에 있는지, 아니면 장치의 후면에 있는지를 결정합니다. 다음 함수는 원하는 위치의 카메라를 찾을 때까지 사용할 수 있는 모든 카메라를 확인합니다. 원하는 위치의 카메라가 없으면 기본 카메라가 반환됩니다.

     function getCamera( position:String ):Camera
     {
       var camera:Camera;
       var cameraCount:uint = Camera.names.length;
      for ( var i:uint = 0; i < cameraCount; ++i )
      {
        camera = Camera.getCamera( String(i) );
        if ( camera.position == position ) return camera;
      }
      return Camera.getCamera();
     
     

휴대 장치에서 카메라 위치는 주로 CameraPosition.FRONT 또는 CameraPosition.BACK입니다. 카메라 위치를 확인할 수 없는 경우 위치는 CameraPosition.UNKNOWN으로 보고됩니다. 데스크톱 플랫폼의 경우에는 위치가 항상 CameraPosition.UNKNOWN입니다.

이 속성의 유효한 값을 위한 상수는 CameraPosition 클래스에서 정의됩니다.



구현
    public function get position():String

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

관련 API 요소

quality

속성 
quality:int  [읽기 전용]

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

요청한 레벨의 화질로, 각 비디오 프레임에 적용되는 압축 비율의 크기에 따라 결정됩니다. 1(최저 품질, 최대 압축)부터 100(최고 품질, 압축 안 함)까지의 품질 값을 선택할 수 있습니다. 기본값은 0입니다. 이 값은 사용 가능한 대역폭을 초과하지 않도록 하기 위해 필요에 따라 화질이 변경될 수 있음을 의미합니다.

이 속성을 설정하려면 setQuality() 메서드를 사용합니다.



구현
    public function get quality():int

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

관련 API 요소

width

속성 
width:int  [읽기 전용]

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

현재 캡처의 너비를 픽셀 단위로 나타냅니다. 이 속성에 대해 원하는 값을 설정하려면 setMode() 메서드를 사용합니다.



구현
    public function get width():int

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

관련 API 요소

메서드 세부 정보

copyToByteArray

()메서드
public function copyToByteArray(rect:Rectangle, destination:ByteArray):void

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 11.4, AIR 3.4

픽셀 데이터의 사각형 영역에서 바이트 배열을 채웁니다.

픽셀별로 부호 없는 정수(곱하지 않은 32비트 픽셀 값)를 바이트 배열에 씁니다. 배열의 크기는 모든 픽셀을 포함할 수 있도록 필요한 바이트 수로 조정됩니다.

매개 변수

rect:Rectangle — 현재 BitmapData 객체의 사각형 영역입니다.
 
destination:ByteArray — 지정된 Rectangle의 픽셀을 나타내는 ByteArray입니다.


오류
PermissionError — 응용 프로그램에 카메라를 사용할 수 있는 권한이 없습니다.
 
TypeError — rect가 null입니다.
 
TypeError — destination이 null입니다.

관련 API 요소

copyToVector

()메서드 
public function copyToVector(rect:Rectangle, destination:Vector.<uint>):void

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 11.4, AIR 3.4

픽셀 데이터의 사각형 영역에서 벡터를 채웁니다.

픽셀별로 부호 없는 정수(곱하지 않은 32비트 픽셀 값)를 벡터에 씁니다. 벡터의 크기는 모든 픽셀을 포함할 수 있도록 필요한 항목 수로 조정됩니다.

매개 변수

rect:Rectangle — 현재 BitmapData 객체의 사각형 영역입니다.
 
destination:Vector.<uint> — 벡터입니다.지정한 Rectangle의 픽셀을 나타내는 <uint>입니다.


오류
PermissionError — 응용 프로그램에 카메라를 사용할 수 있는 권한이 없습니다.
 
TypeError — rect가 null입니다.
 
TypeError — destination이 null입니다.

관련 API 요소

drawToBitmapData

()메서드 
public function drawToBitmapData(destination:BitmapData):void

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 11.4, AIR 3.4

마지막 프레임을 비트맵에 복사합니다.

이 메서드는 마지막 프레임의 내용을 BitmapData에 복사합니다.

매개 변수

destination:BitmapData — 마지막 프레임을 포함할 BitmapData 인스턴스입니다.


오류
ArgumentError destination이 너무 작은 경우의 kInvalidBitmapDataError입니다.

관련 API 요소

getCamera

()메서드 
public static function getCamera(name:String = null):Camera

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

비디오를 캡처하는 Camera 객체의 참조를 반환합니다. 비디오 캡처를 시작하려면 Video 객체에 Camera 객체를 첨부해야 합니다(Video.attachCamera() 참조). Flash Media Server로 비디오를 전송하려면 NetStream.attachCamera()를 호출하여 Camera 객체를 NetStream 객체에 첨부합니다.

getCamera() 메서드를 여러 번 호출하는 경우 동일한 카메라 드라이버를 참조합니다. 따라서 코드에 firstCam:Camera = getCamera()secondCam:Camera = getCamera() 같은 코드가 포함되어 있으면 firstCamsecondCam은 사용자의 기본 카메라인 같은 카메라를 참조합니다.

앞뒤 카메라를 모두 장착한 휴대 장치에서는 한 번에 한 카메라에서만 비디오를 캡처할 수 있습니다.

일반적으로 name 매개 변수의 값을 전달해서는 안 되며, getCamera()를 사용하여 기본 카메라에 대한 참조를 반환해야 합니다. 이 단원의 후반부에 설명되는 [카메라 설정] 패널에서는 사용할 기본 카메라를 지정할 수 있습니다.

ActionScript를 사용하여 카메라 액세스에 대한 사용자의 허용 또는 거부 권한 설정을 지정할 수 없지만 사용자가 카메라 권한을 설정할 수 있는 Adobe Flash Player 설정의 카메라 설정 대화 상자를 표시할 수 있습니다. attachCamera() 메서드를 사용하는 SWF 파일이 getCamera() 메서드에 의해 반환된 카메라를 Video 또는 NetStream 객체에 첨부하려고 하면 Flash Player는 카메라에 대한 액세스를 허용하거나 거부하는 것을 사용자가 선택할 수 있도록 대화 상자를 표시합니다. 응용 프로그램의 윈도우 크기가 Flash Player에서 대화 상자를 표시하는 데 필요한 최소 크기인 215 x 138픽셀 이상인지 확인합니다. 사용자가 카메라 설정 대화 상자에 응답하면 Flash Player는 사용자의 응답을 나타내는 status 이벤트로 정보 객체를 반환합니다. Camera.Muted는 사용자가 카메라에 대한 액세스를 거부했음을 나타내고, Camera.Unmuted는 사용자가 카메라에 대한 액세스를 허용했음을 나타냅니다. status 이벤트를 처리하지 않고 사용자가 카메라에 대한 액세스를 거부했는지 허용했는지를 확인하려면 muted 속성을 사용합니다.

Flash Player에서 SWF 파일이 재생되는 동안 마우스 오른쪽 버튼을 클릭(Windows 및 Linux)하거나 Control 키를 누른 채 클릭(Macintosh)하고 [설정]을 선택하여 [개인 정보] 대화 상자를 연 후 [기억]을 선택하면 특정 도메인에 대해 개인 정보 설정을 영구적으로 지정할 수 있습니다. 사용자가 [기억]을 선택하면 Flash Player는 이 도메인의 SWF 파일이 카메라에 액세스하도록 허용할 것인지 아니면 거부할 것인지를 더 이상 묻지 않습니다.

참고: 사용자가 Flash Player 설정 대화 상자에서 [기억]을 선택하여 액세스를 거부한 경우 attachCamera() 메서드는 카메라에 대한 액세스를 허용 또는 거부하기 위한 대화 상자를 호출하지 않습니다. 이 경우 Security.showSettings(SecurityPanel.PRIVACY)를 사용해 Flash Player [개인 정보] 패널을 표시하여 허용 또는 거부 설정을 변경하라는 메시지를 사용자에게 표시할 수 있습니다.

getCamera()에서 null이 반환하면 다른 응용 프로그램이 카메라를 사용 중이거나 시스템에 카메라가 설치되어 있지 않은 것입니다. 설치된 카메라가 있는지 확인하려면 names.length 속성을 사용합니다. getCamera()에 의해 참조될 카메라를 선택할 수 있는 Flash Player 카메라 설정 패널을 표시하려면 Security.showSettings(SecurityPanel.CAMERA)를 사용합니다.

카메라 하드웨어를 검색하는 작업에는 시간이 걸립니다. 일단 적어도 하나의 카메라가 발견되면 플레이어 인스턴스가 실행되는 동안에는 하드웨어를 다시 검색하지 않습니다. 그러나 카메라가 한 대도 발견되지 않으면 런타임은 getCamera를 호출할 때마다 하드웨어를 검색합니다. 이 옵션은 카메라가 있지만 사용하지 않도록 설정된 상태일 때 유용합니다. SWF 파일에 getCamera를 호출하는 재시도 버튼이 있는 경우 사용자가 SWF 파일을 다시 시작하지 않아도 Flash Player는 카메라를 찾을 수 있습니다.

매개 변수

name:String (default = null) — 가져올 카메라를 지정합니다. 가져올 카메라는 names 속성에 의해 반환된 배열로부터 결정됩니다. 대부분의 응용 프로그램에서는 이 매개 변수가 누락되면 기본 카메라를 가져옵니다. 이 매개 변수의 값을 지정하려면 Camera.names 배열 내에서 0부터 시작하는 인덱스 위치의 문자열 표현을 사용합니다. 예를 들어 배열에서 세 번째 카메라를 지정하려면 Camera.getCamera("2")를 사용합니다.

반환값
Cameraname 매개 변수가 지정되지 않으면 이 메서드는 기본 카메라에 대한 참조를 반환합니다. 하지만 기본 카메라가 다른 응용 프로그램에서 사용되고 있으면 사용 가능한 첫 번째 카메라를 반환합니다. 카메라가 두 대 이상 설치되어 있으면 Flash Player의 [카메라 설정] 패널에서 기본 카메라를 지정할 수 있습니다. 사용 가능한 카메라가 없으면 이 메서드는 null을 반환합니다.

이벤트
status:StatusEvent — 카메라가 상태를 보고할 때 전달됩니다. Flash Player는 카메라에 액세스하기 전에 사용자의 카메라 액세스를 허용 또는 거부할 수 있는 [개인 정보] 대화 상자를 표시합니다. code 속성 값이 "Camera.Muted"이면 사용자가 사용자의 카메라에 대한 SWF 파일 액세스를 거부한 것입니다. code 속성 값이 "Camera.Unmuted"이면 사용자가 카메라에 대한 SWF 파일 액세스를 허용한 것입니다.

관련 API 요소


예제  ( 예제 사용 방법 )

다음 예제에서는 사용자가 카메라에 대한 액세스를 허용한 후 연결된 카메라가 비디오 이미지를 캡처하는 데 사용됩니다. 현재 초당 프레임 수와 같은 비디오 스트림에 대한 정보도 표시됩니다.

Camera.getCamera() 메서드는 카메라 객체에 대한 참조를 반환하거나 카메라가 사용할 수 없거나 설치되지 않은 경우 null을 반환합니다. if 문은 카메라가 발견되었는지 여부와 사용자가 카메라에 대한 액세스를 허용했는지 여부를 확인합니다. 사용자가 액세스를 거부한 경우 muted 속성은 true로 설정됩니다.

일반적으로 attachCamera() 메서드가 호출되면 카메라에 대한 Flash Player 액세스를 허용 또는 거부하라는 대화 상자가 나타납니다. 그러나 사용자가 액세스를 거부하고 기억 옵션을 선택한 경우 대화 상자가 나타나지 않으며 아무 것도 표시되지 않습니다. 카메라에 대한 액세스를 허용하는 옵션이 있다는 것을 알리기 위해 myTextField 텍스트 필드는 사용자가 텍스트 필드를 클릭하여 [Flash Player 설정] 대화 상자를 호출하도록 지시합니다.

clickHandler() 메서드는 설정 대화 상자의 PRIVACY 패널을 표시하는 Security.showSettings() 메서드를 호출합니다. 사용자가 액세스를 허용할 경우 StatusEvent.STATUS 이벤트가 전달되고 이벤트의 code 속성 값이 Camera.Unmuted로 설정됩니다. 카메라 객체의 mute 속성도 false로 설정됩니다.

사용자가 액세스를 허용할 경우 사용자 설정의 상태 변경을 수신하기 위해 추가된 statusHandler() 메서드는 connectCamera() 메서드를 호출합니다. connectCamera() 메서드는 캡처한 스트림의 폭과 높이로 비디오 객체를 인스턴스화합니다. 카메라의 캡처된 비디오를 표시하기 위해 비디오 스트림에 대한 참조가 비디오 객체에 첨부되고 비디오 객체가 표시 목록에 추가됩니다.

또한 Timer 객체도 시작됩니다. 1초마다 Timer 객체의 타이머 이벤트가 전달되고 timerHandler() 메서드가 호출됩니다. timerHandler() 메서드가 표시되고 Camera 객체의 속성 수가 업데이트됩니다.

참고: 이 예제에서 변경되는 유일한 속성은 currentFPS 속성입니다.

package {
    import flash.display.Sprite;
    import flash.media.Camera;
    import flash.media.Video;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.utils.Timer;
    import flash.events.TimerEvent;
    import flash.events.StatusEvent;
    import flash.events.MouseEvent;
    import flash.system.SecurityPanel;
    import flash.system.Security;

    public class Camera_getCameraExample extends Sprite {
        private var myTextField:TextField;
        private var cam:Camera;
        private var t:Timer = new Timer(1000);
        
        public function Camera_getCameraExample() {
            myTextField = new TextField();
            myTextField.x = 10;
            myTextField.y = 10;
            myTextField.background = true;
            myTextField.selectable = false;
            myTextField.autoSize = TextFieldAutoSize.LEFT;    
        
            if (Camera.isSupported)
            {
                cam = Camera.getCamera();
                
                 if (!cam) {
                    myTextField.text = "No camera is installed.";
                    
                } else if (cam.muted) {
                    myTextField.text = "To enable the use of the camera,\n"
                                     + "please click on this text field.\n" 
                                     + "When the Flash Player Settings dialog appears,\n"
                                     + "make sure to select the Allow radio button\n" 
                                     + "to grant access to your camera.";
    
                    myTextField.addEventListener(MouseEvent.CLICK, clickHandler);
    
                }else {
                    myTextField.text = "Connecting";
                    connectCamera(); 
                }
       
                addChild(myTextField);
    
                t.addEventListener(TimerEvent.TIMER, timerHandler);
            }else {
                myTextField.text = "The Camera class is not supported on this device.";
            }
        }

        private function clickHandler(e:MouseEvent):void {
            Security.showSettings(SecurityPanel.PRIVACY);

            cam.addEventListener(StatusEvent.STATUS, statusHandler);

            myTextField.removeEventListener(MouseEvent.CLICK, clickHandler);
        }

        private function statusHandler(event:StatusEvent):void {

            if (event.code == "Camera.Unmuted") {
                connectCamera(); 
                cam.removeEventListener(StatusEvent.STATUS, statusHandler);
            }
        }

        private function connectCamera():void {
                var vid:Video = new Video(cam.width, cam.height);
                vid.x = 10;
                vid.y = 10;
                vid.attachCamera(cam);
                addChild(vid);    

                t.start();
        }

        private function timerHandler(event:TimerEvent):void {
            myTextField.y = cam.height + 20;
            myTextField.text = "";
            myTextField.appendText("bandwidth: " + cam.bandwidth + "\n");
            myTextField.appendText("currentFPS: " + Math.round(cam.currentFPS) + "\n");
            myTextField.appendText("fps: " + cam.fps + "\n");
            myTextField.appendText("keyFrameInterval: " + cam.keyFrameInterval + "\n");
        }
    }
}

    requestPermission

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

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

응용 프로그램에 대한 카메라 권한을 요청합니다.


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

setKeyFrameInterval

()메서드 
public function setKeyFrameInterval(keyFrameInterval:int):void

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

비디오 압축 알고리즘을 통해 삽입하지 않고 전체를 전송할 비디오 프레임(키프레임)을 지정합니다. 이 메서드는 Flash Media Server를 사용하여 비디오를 전송하는 경우에만 적용할 수 있습니다.

Flash Video 압축 알고리즘은 비디오의 마지막 프레임 이후로 변경된 부분만을 전송함으로써 비디오를 압축합니다. 이 부분을 삽입된 프레임이라고 합니다. 비디오의 프레임은 이전 프레임의 내용에 따라 삽입될 수 있습니다. 그러나 키프레임은 완전한 비디오 프레임으로서 이전 프레임으로부터 삽입될 수 없습니다.

keyFrameInterval 매개 변수 값을 어떻게 설정할지 결정하려면 대역폭 사용량과 비디오 재생 액세스 가능성을 모두 고려해야 합니다. 예를 들어 keyFrameInterval에 대해 더 높은 값을 지정하면(키프레임 전송 빈도를 낮추면) 대역폭 사용량이 줄어듭니다. 그러나 이렇게 하면 비디오의 특정 지점에 재생 헤드를 배치하는 데 걸리는 시간이 늘어날 수 있으며, 이전 비디오 프레임을 더 많이 삽입해야만 비디오를 다시 재생할 수 있습니다.

반대로, keyFrameInterval에 대해 낮은 값을 지정하면(키프레임 전송 빈도를 높이면) 전체 비디오 프레임을 보다 자주 전송하므로 대역폭 사용량은 늘어나지만 녹화된 비디오에서 특정한 비디오 프레임을 찾는 데 걸리는 시간은 줄어듭니다.

매개 변수

keyFrameInterval:int — 비디오 압축 알고리즘을 통해 삽입하지 않고 전체를 전송할 비디오 프레임을 지정하는 값입니다. 값을 1로 선택하면 모든 프레임이 키프레임이 되고, 값을 3으로 선택하면 세 번째 프레임마다 키프레임이 되는 방식입니다. 사용할 수 있는 값은 1부터 48까지입니다.


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

관련 API 요소

setLoopback

()메서드 
public function setLoopback(compress:Boolean = false):void

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

카메라의 로컬 뷰에 압축된 비디오 스트림을 사용할지 여부를 지정합니다. 이 메서드는 Flash Media Server를 사용하여 비디오를 전송할 경우에만 적용할 수 있습니다. compresstrue로 설정하면 실시간으로 비디오를 볼 때 어떻게 표시되는지를 보다 정밀하게 확인할 수 있습니다.

압축된 스트림은 비디오 품질 설정을 미리 보는 것과 같은 테스트 목적으로는 유용합니다. 그러나 로컬 뷰를 단순히 압축하는 것이 아니라 실시간 연결에서처럼 비디오를 압축하고 전송하기 위해 편집한 다음 로컬에서 볼 수 있도록 압축을 해제하는 것이므로 처리 비용이 상당히 많이 듭니다.

compresstrue로 설정했을 때 사용할 압축률을 설정하려면 Camera.setQuality()를 사용합니다.

매개 변수

compress:Boolean (default = false) — 카메라에 수신되는 로컬 뷰에 대해 압축된 비디오 스트림(true)을 사용할지 압축되지 않은 스트림(false)을 사용할지 지정합니다.


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

관련 API 요소

setMode

()메서드 
public function setMode(width:int, height:int, fps:Number, favorArea:Boolean = true):void

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

카메라 캡처 모드를 지정된 요구 사항을 최적으로 만족시키는 기본 모드로 설정합니다. 전달된 모든 매개 변수와 일치하는 기본 모드를 카메라가 가지고 있지 않으면 요청된 모드에 가장 가까운 캡처 모드가 선택됩니다. 이 작업으로 인해 이미지가 잘리거나 프레임이 삭제될 수 있습니다.

기본적으로 이미지 크기 유지를 위해 필요에 따라 프레임이 삭제됩니다. 삭제되는 프레임 수를 최소화하려면 이미지 크기가 감소된다고 하더라도 favorArea 매개 변수에 false를 전달합니다.

기본 모드를 선택하면 런타임에서는 요청된 종횡비를 가능하면 유지하려고 합니다. 예를 들어 myCam.setMode(400, 400, 30) 명령을 실행한 경우 카메라에서 사용 가능한 최대 폭 및 높이 값이 각각 320과 288이라면 런타임은 이들 속성을 같은 값으로, 즉 폭과 높이를 모두 288로 설정하여 사용자가 요청한 종횡비 1:1을 유지합니다.

사용자가 요청한 값과 가장 일치하는 모드가 선택된 후 이 속성에 지정된 값을 확인하려면 width, heightfps 속성을 사용합니다.

Flash Media Server를 사용 중인 경우 단일 프레임을 캡처하거나 저속도 촬영 사진을 생성할 수도 있습니다. 자세한 내용은 NetStream.attachCamera()를 참조하십시오.

매개 변수

width:int — 요청한 캡처 폭(픽셀)입니다. 기본값은 160입니다.
 
height:int — 요청한 캡처 높이(픽셀)입니다. 기본값은 120입니다.
 
fps:Number — 요청한 카메라의 데이터 캡처 속도(프레임/초)입니다. 기본값은 15입니다.
 
favorArea:Boolean (default = true) — 카메라에 지정된 요구 사항을 충족하는 기본 모드가 없을 경우 폭, 높이, 프레임 속도를 조작할지 여부를 지정합니다. 기본값은 true이며, 이렇게 설정하면 캡처 크기가 최대한 유지되므로 프레임 속도가 줄어 성능이 저하되더라도 widthheight 값과 최대한 일치하는 모드가 선택됩니다. 카메라의 높이 및 너비를 무시하고 프레임 속도를 최대화하려면 favorArea 매개 변수에 false를 전달합니다.


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

관련 API 요소


예제  ( 예제 사용 방법 )

다음 예제에서 사용자가 Stage를 클릭하면 비디오 크기가 조정되고 초당 프레임 수 캡처 속도가 새 값으로 설정됩니다.

Stage는 설정되므로 크기가 조절되지 않습니다. Camera.getCamera() 메서드는 카메라 객체에 대한 참조를 반환하거나 카메라가 사용할 수 없거나 설치되지 않은 경우 null을 반환합니다. 카메라가 존재할 경우 connectCamera() 메서드가 호출됩니다. connectCamera() 메서드는 비디오 객체를 인스턴스화합니다. 카메라의 캡처된 비디오를 표시하기 위해 비디오 스트림에 대한 참조가 비디오 객체에 첨부되고 비디오 객체가 표시 목록에 추가됩니다. 또한 MouseEvent.CLICK 이벤트에 대한 이벤트 리스너가 설정됩니다. 사용자가 Stage를 클릭한 후 clickHandler() 메서드가 호출됩니다. 이 메서드는 캡처된 비디오의 폭을 확인하고 카메라 캡처 모드의 폭, 높이 및 초당 프레임 요청 속도를 설정합니다. 이러한 설정을 적용하려면 비디오 객체를 제거하고 다시 만들어야 합니다. 또한 비디오의 폭과 높이는 카메라 객체의 폭과 높이로 설정해야 합니다.

package {
    import flash.display.Sprite;
    import flash.media.Camera;
    import flash.media.Video;
    import flash.events.MouseEvent;
    import flash.display.StageScaleMode;

    public class Camera_setModeExample extends Sprite {
        private var cam:Camera;
        private var vid:Video;

        public function Camera_setModeExample() {
            stage.scaleMode = StageScaleMode.NO_SCALE;

            cam = Camera.getCamera();
            
            if (!cam) {
                trace("No camera is installed.");
            }else {
                connectCamera();
            }
        }

        private function connectCamera():void {
            vid = new Video();
            vid.width = cam.width;
            vid.height = cam.height; 
            vid.attachCamera(cam);
            addChild(vid);    

            stage.addEventListener(MouseEvent.CLICK, clickHandler);
        }
    
        private function clickHandler(e:MouseEvent):void {

            switch (cam.width) {
                case 160:
                cam.setMode(320, 240, 10); 
                break;
                case 320:
                cam.setMode(640, 480, 5); 
                break;
                default:
                cam.setMode(160, 120, 15); 
                break;
            } 

            removeChild(vid);           
            connectCamera();
        }
    }
}

setMotionLevel

()메서드 
public function setMotionLevel(motionLevel:int, timeout:int = 2000):void

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

activity 이벤트를 전달하는 데 필요한 동작의 양을 지정합니다. 런타임에서 모션이 중단되었음을 인지하고 이벤트를 전달하기까지 아무런 활동 없이 경과되어야 하는 시간을 밀리초 단위로 설정할 수도 있습니다.

참고: 비디오는 motionLevel 매개 변수 값과는 관계없이 표시할 수 있습니다. 이 매개 변수는 비디오가 실제로 캡처되거나 표시될지 여부가 아니라 이벤트가 전달되어야 하는 시간과 환경만 결정합니다.

카메라가 동작을 전혀 감지하지 않도록 하려면 motionLevel 매개 변수에 값 100을 전달합니다. 그러면 activity 이벤트가 전달되지 않습니다. 이 값은 주로 이벤트가 전달될 때 일반적으로 트리거되는 핸들러를 임시로 비활성화하는 등의 테스트 목적으로만 사용하게 됩니다.

현재 카메라가 감지하는 동작의 양을 확인하려면 activityLevel 속성을 사용합니다. 동작 민감도 값은 활동 값에 직접 대응됩니다. 동작이 전혀 없는 상태의 활동 값은 0입니다. 계속적인 동작이 있는 상태의 활동 값은 100입니다. 움직임이 없을 때 활동 값은 동작 민감도 값보다 작으며, 움직이는 경우에는 활동 값이 동작 민감도 값을 초과하는 경우가 많습니다.

이 메서드는 Microphone.setSilenceLevel() 메서드와 용도가 비슷합니다. 두 메서드 모두 activity 이벤트를 전달해야 할 시점을 지정하는 데 사용됩니다. 하지만 두 메서드는 스트림을 제작할 때 현저히 다른 특징을 갖습니다.

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

매개 변수

motionLevel:intactivity 이벤트를 전달하는 데 필요한 동작의 양을 지정합니다. 사용할 수 있는 값은 0부터 100까지입니다. 기본값은 50입니다.
 
timeout:int (default = 2000) — 런타임에서 동작이 중단되었음을 인지하고 activity 이벤트를 전달하기까지 아무런 활동 없이 경과되어야 하는 시간을 밀리초 단위로 지정합니다. 기본값은 2000밀리초(2초)입니다.


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

관련 API 요소


예제  ( 예제 사용 방법 )

다음 예제에서 사용자의 카메라는 모니터 또는 감시 카메라로 사용됩니다. 카메라는 동작을 감지하며 텍스트 필드에 활동 레벨이 표시됩니다. 이 예제를 확장하여 알람을 울리거나 웹 서비스를 통해 다른 응용 프로그램에 메시지를 보낼 수 있습니다.

Camera.getCamera() 메서드는 카메라 객체에 대한 참조를 반환하거나 카메라가 사용할 수 없거나 설치되지 않은 경우 null을 반환합니다. if 문은 카메라를 사용할 수 있는지 여부를 확인하고 카메라를 사용할 수 있는 경우 connectCamera() 메서드를 호출합니다. connectCamera() 메서드는 캡처한 스트림의 폭과 높이로 비디오 객체를 인스턴스화합니다. 카메라의 캡처된 비디오를 표시하기 위해 비디오 스트림에 대한 참조가 비디오 객체에 첨부되고 비디오 객체가 표시 목록에 추가됩니다. 일반적으로 attachCamera() 메서드가 호출되면 카메라에 대한 Flash Player 액세스를 허용 또는 거부하라는 대화 상자가 나타납니다. 그러나 사용자가 액세스를 거부하고 기억 옵션을 선택한 경우 대화 상자가 나타나지 않으며 아무 것도 표시되지 않습니다. 카메라에 대한 액세스를 허용하는 옵션이 사용자에게 있다는 것을 알리려면 system.Security.showSettings() 메서드를 사용하여 Flash Player 설정 대화 상자를 호출합니다.

setMotionLevel() 메서드는 활동 이벤트가 호출되기 전에 활동 레벨(동작의 양)을 최소 동작을 나타내는 5로 설정합니다. 카메라가 동작 감지를 중지하는 시점과 활동 이벤트가 호출되는 시점 사이의 시간은 1초(1000밀리초)로 설정됩니다. 활동 없이 1초가 경과하거나 활동 레벨이 5에 도달한 후 ActivityEvent.ACTIVITY 이벤트가 전달되고 activityHandler() 메서드가 호출됩니다. 이 이벤트가 활동 레벨에 의해 트리거된 경우 activating 속성이 true로 설정되고 Timer 객체가 시작됩니다. 1초마다 Timer 객체의 타이머 이벤트가 전달되고 timerHandler() 메서드가 호출되어 현재 활동 레벨을 표시합니다. 5 이상의 레벨이 타이머를 트리거하지만 표시된 현재 활동 레벨이 더 작은 숫자일 수 있습니다.

package {
    import flash.display.Sprite;
    import flash.media.Camera;
    import flash.media.Video;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.utils.Timer;
    import flash.events.TimerEvent;
    import flash.events.ActivityEvent;

    public class Camera_setMotionLevelExample extends Sprite {
        private var myTextField:TextField;
        private var cam:Camera;
        private var t:Timer = new Timer(1000);

        public function Camera_setMotionLevelExample() {
            myTextField = new TextField();
            myTextField.background = true;
            myTextField.selectable = false;
            myTextField.autoSize = TextFieldAutoSize.LEFT;    
        
            cam = Camera.getCamera();
            
            if (!cam) {
                myTextField.text = "No camera is installed.";

            }else {
                myTextField.text = "Waiting to connect.";
                connectCamera(); 
            }

            addChild(myTextField);

            t.addEventListener(TimerEvent.TIMER, timerHandler);
        }

        private function connectCamera():void {
                var vid:Video = new Video(cam.width, cam.height);
                vid.x = 10;
                vid.y = 10;
                vid.attachCamera(cam);
                addChild(vid);    

                cam.setMotionLevel(5, 1000);
                cam.addEventListener(ActivityEvent.ACTIVITY, activityHandler);
        }

        private function activityHandler(e:ActivityEvent):void {
            if (e.activating == true) {
                t.start();    
            } else {
                myTextField.text = "Everything is quiet.";
                t.stop();
            }    
        }

        private function timerHandler(event:TimerEvent):void {
             myTextField.x = 10;
             myTextField.y = cam.height + 20;
             myTextField.text = "There is some activity. Level: " + cam.activityLevel;
        }
    }
}

setQuality

()메서드 
public function setQuality(bandwidth:int, quality:int):void

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

현재 내보내는 비디오 피드의 초당 최대 대역폭이나 요청되는 화질을 설정합니다. 이 메서드는 일반적으로 Flash Media Server를 사용하여 비디오를 전송하는 경우에만 적용할 수 있습니다.

대역폭 사용량이나 화질 등과 같이 내보내는 비디오 피드의 어떤 요소가 응용 프로그램에 더 중요한지 지정하려면 이 메서드를 사용합니다.

  • 대역폭 사용량이 우선 순위를 갖도록 설정하려면 bandwidth에 값을 전달하고 quality를 0으로 설정합니다. 비디오는 지정된 대역폭 내에서 가능한 최고 화질로 전송됩니다. 필요하다면 지정된 대역폭을 초과하지 않도록 화질이 감소됩니다. 일반적으로 동작이 많아지면 화질이 감소합니다.
  • 화질이 우선 순위를 갖도록 설정하려면 bandwidth에 0을 전달하고 quality에 숫자 값을 설정합니다. 지정된 화질을 유지하기 위해 필요한 크기의 대역폭이 모두 사용됩니다. 필요하다면 화질을 유지할 수 있도록 프레임 비율이 감소됩니다. 일반적으로 동작이 많아지면 대역폭 사용도 증가합니다.
  • 대역폭과 화질이 똑같이 중요하도록 지정하려면 두 매개 변수에 모두 숫자 값을 전달합니다. 지정된 화질이 적용되고 지정된 대역폭을 초과하지 않으면서 비디오가 전송됩니다. 필요하다면 지정된 대역폭을 초과하지 않고 화질을 유지할 수 있도록 프레임 비율이 감소됩니다.

매개 변수

bandwidth:int — 현재 내보내는 비디오 피드가 사용할 수 있는 최대 대역폭을 초당 바이트 단위로 지정합니다. 비디오가 quality 값을 유지하는 데 필요한 대역폭을 사용할 수 있도록 지정하려면 bandwidth에 0을 전달합니다. 기본값은 16384입니다.
 
quality:int — 원하는 화질 레벨을 지정하는 정수입니다. 각 비디오 프레임에 적용되는 압축 정도에 따라 결정됩니다. 1(최저 품질, 최대 압축)부터 100(최고 품질, 압축 없음)까지 선택할 수 있습니다. 대역폭을 초과하지 않도록 하기 위해 화질을 변경할 수 있도록 지정하려면 quality에 0을 전달합니다.


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

관련 API 요소

이벤트 세부 정보

activity

이벤트
이벤트 객체 유형: flash.events.ActivityEvent
속성 ActivityEvent.type = flash.events.ActivityEvent.ACTIVITY

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

카메라에서 세션이 시작되거나 종료될 때 전달됩니다. Camera.setMotionLevel()을 호출하여 activity 이벤트를 트리거하는 데 필요한 동작의 양을 지정하거나(activating 값이 true), 활동이 없는 경우 activity 이벤트를 트리거하기 전에 경과되어야 하는 시간을 지정합니다(activating 값이 false).

ActivityEvent.ACTIVITY 상수는 activity 이벤트 객체의 type 속성 값을 정의합니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
activating장치가 활성화되면 true이고 비활성화되면 false입니다.
bubblesfalse
cancelablefalse. 취소할 기본 비헤이비어가 없습니다.
currentTarget이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
targetCamera 또는 Microphone 객체 등 세션을 시작 또는 종료 중인 객체입니다.
    

permissionStatus

이벤트  
이벤트 객체 유형: flash.events.PermissionEvent
속성 PermissionEvent.type = flash.events.PermissionEvent.PERMISSION_STATUS

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

응용 프로그램이 장치의 카메라를 사용할 수 있는 권한을 요청할 때 전달됩니다. status 속성 값을 검사하여 권한이 부여되었는지 아니면 거부되었는지 확인합니다.

관련 API 요소

status

이벤트  
이벤트 객체 유형: flash.events.StatusEvent
속성 StatusEvent.type = flash.events.StatusEvent.STATUS

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 9, AIR (unsupported)

카메라가 상태를 보고할 때 전달됩니다. 카메라에 액세스하기 전에 사용자의 카메라 액세스를 허용 또는 거부할 수 있는 [개인 정보] 대화 상자가 런타임에 표시됩니다. code 속성 값이 "Camera.Muted"이면 사용자가 카메라에 대한 SWF 파일 액세스를 거부한 것입니다. code 속성 값이 "Camera.Unmuted"이면 사용자가 카메라에 대한 SWF 파일 액세스를 허용한 것입니다.

참고: AIR 플랫폼에서는 이 이벤트가 전달되지 않습니다. 이 이벤트는 Flash Player에서만 사용됩니다.

status 이벤트 객체의 type 속성 값을 정의합니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
bubblesfalse
cancelablefalse. 취소할 기본 비헤이비어가 없습니다.
code객체의 상태에 대한 설명입니다.
currentTarget이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
level"status", "warning" 또는 "error" 같은 메시지 범주입니다.
target상태를 보고하는 객체입니다.

관련 API 요소

videoFrame

이벤트  
이벤트 객체 유형: flash.events.Event
속성 Event.type = flash.events.Event.VIDEO_FRAME

언어 버전: ActionScript 3.0
런타임 버전: Flash Player 11.4, AIR 3.4

새 카메라 프레임이 런타임에 의해 처리되어 복사할 수 있게 된 후에 전달됩니다.

Event.VIDEO_FRAME 상수는 videoFrame 이벤트 객체의 type 속성 값을 정의합니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
bubblesfalse
cancelablefalse. 취소할 기본 비헤이비어가 없습니다.
target이 이벤트를 전달한 Camera 객체입니다.

관련 API 요소

CameraExample.as

다음 예제에서는 보안 경고를 인식한 후 카메라에서 얻어지는 이미지를 보여 줍니다. Stage는 크기 조절이 불가능하게 설정되며 플레이어 윈도우의 왼쪽 상단에 정렬됩니다. activity 이벤트는 세션 시작 및 종료(해당하는 경우) 시점에 전달되고 activityHandler() 메서드에 의해 캡처되어 해당 이벤트에 관한 정보가 출력됩니다.

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

package {
    import flash.display.Sprite;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;
    import flash.events.*;
    import flash.media.Camera;
    import flash.media.Video;

    public class CameraExample extends Sprite {
        private var video:Video;
        
        public function CameraExample() {
            stage.scaleMode = StageScaleMode.NO_SCALE;
            stage.align = StageAlign.TOP_LEFT;
            
            var camera:Camera = Camera.getCamera();
            
            if (camera != null) {
                camera.addEventListener(ActivityEvent.ACTIVITY, activityHandler);
                video = new Video(camera.width * 2, camera.height * 2);
                video.attachCamera(camera);
                addChild(video);
            } else {
                trace("You need a camera.");
            }
        }
        
        private function activityHandler(event:ActivityEvent):void {
            trace("activityHandler: " + event);
        }
    }
}




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

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