Справочник по ActionScript® 3.0 для платформы Adobe® Flash®
Домашняя страница  |  Скрыть список пакетов и классов |  Пакеты  |  Классы  |  Что нового  |  Указатель  |  Приложения  |  Почему по-английски?
Фильтры: 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
устаревший_индекс
Константы реализации специальных возможностей
Использование примеров
Юридическая информация
Пакет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 (). На настольных компьютерах поведение автофокуса зависит от драйвера и настроек камеры.

В приложении AIR на Android и в ОС iOS камера не захватывает видео до тех пор, пока приложение AIR не станет активным и не будет перемещено на передний план. Кроме того, потоковые подключения могут быть потеряны при перемещении приложения на задний план. В ОС iOS видео, передаваемое камерой, не может быть показано, если приложение использует режим визуализации с помощью графического процессора. При этом камера может передавать видео в потоковом режиме на сервер.

Поддержка в профилях AIR: эта функция не поддерживается на устройствах AIR for TV. Дополнительные сведения о поддержке API-интерфейса в разных профилях см. в разделе «Поддержка в профилях AIR». Обратите внимание, что на устройствах AIR for TV Camera.isSupported имеет значение true, но Camera.getCamera() всегда возвращает null. Доступ к камере не поддерживается в мобильных браузерах.

Сведения о записи звука см. в описании класса Microphone.

Важно! Среда выполнения показывает диалоговое окно «Конфиденциальность», в котором пользователь может предоставить или запретить доступ к камере. Убедитесь в том, что размеры окна приложения составляют не менее 215 х 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, в котором перечислены все доступные камеры.
Camera
  isSupported : Boolean
[статические] [только для чтения] Свойству isSupported задается значение true, если текущая платформа поддерживает класс Camera, в противном случае задается значение false.
Camera
  keyFrameInterval : int
[только для чтения] Номер видеокадра, который передается целиком (так называемый ключевой кадр), а не подвергается интерполяции по алгоритму сжатия видео.
Camera
  loopback : Boolean
[только для чтения] Определяет режим локального представления данных, записываемых камерой: подвергается сжатию и распаковке, как при прямой передаче с помощью Flash Media Server (true), или не подвергается сжатию (false).
Camera
  motionLevel : int
[только для чтения] Задает количество движения, необходимое для отправки события activity.
Camera
  motionTimeout : int
[только для чтения] Число миллисекунд с момента, когда камера прекратила распознавать движение, до момента передачи события activity.
Camera
  muted : Boolean
[только для чтения] Логическое значение, показывающее, что пользователь запретил (true), или разрешил (false) доступ к камере в диалоговом окне «Конфиденциальность» проигрывателя Flash Player.
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, в котором перечислены все доступные камеры.



Реализация
    public function get index():int

Выдает
PermissionError — Приложение не имеет разрешения на использование камеры.

Связанные элементы API

isSupported

свойство 
isSupported:Boolean  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Свойству isSupported задается значение true, если текущая платформа поддерживает класс Camera, в противном случае задается значение false.



Реализация
    public static function get isSupported():Boolean

keyFrameInterval

свойство 
keyFrameInterval:int  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9

Номер видеокадра, который передается целиком (так называемый ключевой кадр), а не подвергается интерполяции по алгоритму сжатия видео. Значение по умолчанию — 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 (две секунды).

Задать это значение можно с помощью метода setMotionLevel().



Реализация
    public function get motionTimeout():int

Выдает
PermissionError — Приложение не имеет разрешения на использование камеры.

Связанные элементы API

muted

свойство 
muted:Boolean  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9

Логическое значение, показывающее, что пользователь запретил (true), или разрешил (false) доступ к камере в диалоговом окне «Конфиденциальность» проигрывателя Flash Player. При изменении этого значения отправляется событие 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).

Для вызова свойства 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 — Объект ByteArray, представляющий пиксели в данном объекте Rectangle.


Выдает
PermissionError — Приложение не имеет разрешения на использование камеры.
 
TypeError — Объект rect имеет значение null.
 
TypeError — Место назначения соответствует 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> — Объект Vector.<uint>, представляющий пиксели в данном объекте Rectangle.


Выдает
PermissionError — Приложение не имеет разрешения на использование камеры.
 
TypeError — Объект rect имеет значение null.
 
TypeError — Место назначения соответствует NULL

Связанные элементы API

drawToBitmapData

()метод 
public function drawToBitmapData(destination:BitmapData):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 11.4, AIR 3.4

Копирует последний кадр в растровое изображение.

Этот метод копирует содержимое последнего кадра в образец BitmapData.

Параметры

destination:BitmapData — Объект образца BitmapData для сохранения последнего кадра.


Выдает
ArgumentError — kInvalidBitmapDataError, если объект destination слишком маленький

Связанные элементы API

getCamera

()метод 
public static function getCamera(name:String = null):Camera

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9

Возвращает ссылку на объект Camera для записи видео. Для начала записи видео необходимо присоединить объект Camera к объекту Video (см. описание Video.attachCamera() ). Для передачи видео на сервер Flash Media Server вызовите метод NetStream.attachCamera(), чтобы присоединить объект Camera к объекту NetStream.

Повторные вызовы метода getCamera() ссылаются на тот же драйвер камеры. Таким образом, если код содержит подобные значения: firstCam:Camera = getCamera() и secondCam:Camera = getCamera(), то и firstCam и secondCam ссылаются на одну и ту же камеру, которая используется по умолчанию.

На мобильных устройствах с камерой спереди и сзади одновременно видео можно захватывать только с одно из камер.

Как правило, не следует передавать значение для параметра name. Просто используйте метод getCamera(), который вернет ссылку на камеру по умолчанию. На панели настроек камеры (о ней будет говориться далее) пользователь может задать камеру, используемую по умолчанию.

Нельзя использовать ActionScript для задания параметра «Разрешить или запретить доступ» для использования камеры, однако можно отобразить диалоговое окно параметром камеры проигрывателя Adobe Flash Player, где пользователь может настроить разрешение для камеры. Когда SWF-файл, использующий метод attachCamera(), пытается присоединить камеру, возвращенную методом getCamera() к объекту Video или NetStream, проигрыватель Flash Player отображает диалоговое окно, в котором пользователь может предоставить или запретить доступ к камере. (Убедитесь в том, что размеры окна приложения составляют не менее 215 х 138 пикселей. Это минимальный размер, необходимый проигрывателю Flash Player для отображения диалогового окна.) Когда пользователь отвечает на запрос диалогового окна параметров камеры, проигрыватель Flash Player возвращает объект Info в событии status с ответом пользователя: Camera.muted говорит о том, что пользователь запретил доступ к камере; Camera.Unmuted указывает на то, что он предоставил доступ. Для определения, предоставил или запретил пользователь доступ к камере, не обрабатывая событиеstatus, используйте свойство muted.

В Flash Player пользователь может задать постоянные параметры конфиденциальности для определенного домена: во время воспроизведения SWF-файла нужно щелкнуть правой кнопкой (Windows и Linux) мыши или нажать клавишу Control и щелкнуть мышью (Macintosh), выбрать «Параметры», открыть диалоговое окно «Конфиденциальность» и выбрать «Запомнить». Если пользователь выберет «Запомнить», проигрыватель Flash Player больше не будет спрашивать у него разрешения на доступ к камере для SWF-файлов из этого домена.

Примечание. Метод attachCamera() не будет вызывать диалоговое окно «Разрешить или запретить доступ к камере», если пользователь запретил доступ, выбрав «Запомнить» в окне настроек проигрывателя Flash Player. В этом случае можно попросить пользователя изменить настройки доступа, отобразив панель конфиденциальности Flash Player с помощью метода Security.showSettings(SecurityPanel.PRIVACY).

Если getCamera() возвращает значение null, это значит, что камера используется другим приложением или что в системе не установлены камеры. Определить, установлены ли камеры, можно с помощью свойства names.length. Для отображения панели параметров камеры в Flash Player, с помощью которой пользователь может выбрать камеру, на которую будет ссылаться метод getCamera(), используйте Security.showSettings(SecurityPanel.CAMERA).

На сканирование аппаратных средств для камер требуется время. Когда среда выполнения находит хотя бы одну камеру, он больше никогда не сканирует аппаратные средства для данного экземпляра проигрывателя. Однако если среда выполнения не найдет камер, сканирование будет повторяться при каждом вызове метода getCamera. Это удобно, если камера подсоединена, но выключена. Если в SWF-файле предусмотрена кнопка «Повторить попытку», которая вызывает getCamera, проигрыватель Flash Player сможет найти камеру без повторного запуска SWF-файла.

Параметры

name:String (default = null) — Задает, какую камеру использовать в соответствии с данными массива, возвращенного свойством names. Для большинства приложений можно получить камеру по умолчанию, опустив этот параметр. Чтобы задать значение для этого параметра, используйте строковое представление позиции индекса от нуля в массиве Camera.names. Например, чтобы задать третью камеру в массиве, укажитеCamera.getCamera("2").

Возвращает
Camera — Если не задан параметр name, этот метод возвращает ссылку на камеру по умолчанию или, если она используется другим приложением, первую доступную камеру. (Если установлено несколько камер, пользователь может указать камеру по умолчанию на панели настроек камеры в проигрывателе Flash Player.) Если нет доступных или установленных камер, метод возвращает значение null.

События
status:StatusEvent — Отправляется, когда камера сообщает о своем состоянии. Прежде чем получить доступ к камере, Flash Player отображает диалоговое окно с сообщением о конфиденциальности, чтобы пользователь мог разрешить или запретить доступ к своей камере. Если свойство code имеет значение Camera.Muted, пользователь отказался предоставить SWF-файлу доступ к камере. Если свойство code имеет значениеCamera.Unmuted, пользователь предоставил SWF-файлу доступ к камере.

Связанные элементы API


Пример  ( Использование этого примера )

В следующем примере после того, как пользователь разрешает доступ к камере, она используется для записи видеоизображений. Также отображается информация о видеопотоке, такая как текущая частота кадров.

Метод Camera.getCamera() возвращает ссылку на объект Camera или возвращает нуль, если камера недоступна или не установлена. Оператор if проверяет, обнаружена ли камера и предоставил ли пользователь доступ к ней. Если пользователь запрещает доступ, свойство muted получает значение true.

При вызове метода attachCamera() обычно появляется диалоговое окно с запросом доступа к камере для проигрывателя Flash Player. Однако, если пользователь запретил доступ и выбрал параметр Remember, диалоговое окно не появляется и ничего не отображается. Чтобы обеспечить пользователю возможность предоставить доступ к камере, текстовое поле myTextField дает пользователю указание щелкнуть текстовое поле, чтобы открыть диалоговое окно параметров проигрывателя Flash Player.

Метод clickHandler() вызывает Security.showSettings(), отображающий панель PRIVACY диалогового окна настроек. Если пользователь предоставляет доступ, отправляется событие StatusEvent.STATUS, свойствоcode которого получает значение Camera.Unmuted. (Свойство mute объекта Camera также имеет значение false.)

Метод statusHandler(), добавленный для прослушивания изменения состояния пользовательских настроек, вызывает метод connectCamera(), если пользователь предоставляет доступ. Метод connectCamera() создает экземпляр объекта Video с шириной и высотой записываемого потока. Для отображения видео, записываемого с камеры, ссылка на видеопоток добавляется к объекту Video, который в свою очередь добавляется в список отображения.

Также запускается объект Timer. Каждую секунду отправляется событие timer объекта 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. Если задать свойству compress значение true, можно увидеть, как именно видео будет отображаться пользователям, просматривающим его в режиме реального времени.

Хотя сжатый поток удобен для тестирования, например для предварительного просмотра настроек качества видеопотока, он означает значительные затраты на обработку, так как локальный вид не просто сжимается: он сжимается, редактируется для передачи, как при реальном подключении, а затем распаковывается для локального просмотра.

Чтобы задать уровень сжатия для использования вместе со свойством compress в значении true, используйте метод 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

Задает для камеры собственный режим записи, наилучшим образом удовлетворяющий заданным требованиям. Если у камеры нет собственного режима, соответствующего всем переданным параметрам, среда выполнения выбирает режим записи, наиболее близкий к запрашиваемому режиму. При такой манипуляции изображение может обрезаться, а кадры — пропускаться.

По умолчанию среда выполнения при необходимости пропускает кадры для сохранения размера изображения. Чтобы сократить число пропускаемых кадров, даже если это делается для уменьшения размера изображения, передайте значение false для параметра favorArea.

При выборе собственного режима среда выполнения пытается сохранить требуемое соотношение сторон, если это возможно. Например, если передается команда myCam.setMode(400, 400, 30), а максимально доступные размеры камеры — 320 и 288, среда выполнения задает и ширине и высоте значение 288. Задавая свойствам одинаковые значения, среда выполнения сохраняет требуемое соотношение сторон 1:1.

Для определения значений, присвоенных этим свойствам после того, как среда выполнения выберет режим, максимально соответствующий требуемым значениям, используйте свойства width, height и fps.

Если используется сервер Flash Media Server, можно также снимать отдельные кадры или делать покадровую съемку. Дополнительные сведения см. в описании метода NetStream.attachCamera().

Параметры

width:int — Требуемая ширина записи в пикселях. Значением по умолчанию является 160.
 
height:int — Требуемая высота записи в пикселях. Значением по умолчанию является 120.
 
fps:Number — Требуемая частота, с которой камера должна записывать данные (в кадрах в секунду). Значение по умолчанию равно 15.
 
favorArea:Boolean (default = true) — Определяет, должны изменяться настройки ширины, высоты и частоты кадров, если собственный режим камеры не соответствует заданным требованиям. Значение по умолчанию — true. Это значит, что предпочтение отдается сохранению размеров записи. При использовании этого параметра выбирается режим, наиболее близкий к значениям width и height даже если это негативно отражается на производительности из-за сокращения частоты кадров. Для увеличения частоты кадров за счет настроек высоты и ширины камеры передайте значение false для параметра favorArea.


Выдает
PermissionError — Приложение не имеет разрешения на использование камеры.

Связанные элементы API


Пример  ( Использование этого примера )

В следующем примере, когда пользователь щелкает по монтажному столу, размер видео изменяется, и скорость записи (в кадрах в секунду) получает новое значение.

Рабочая область не масштабируется. Метод Camera.getCamera() возвращает ссылку на объект Camera или возвращает нуль, если камера недоступна или не установлена. Если камера существует, вызывается метод connectCamera(). Метод connectCamera() создает экземпляр объекта Video. Для отображения видео, записываемого с камеры, ссылка на видеопоток добавляется к объекту Video, который в свою очередь добавляется в список отображения. Создается прослушиватель для события MouseEvent.CLICK. Когда пользователь щелкает по рабочей области, запускается метод clickHandler(). Метод проверяет ширину записываемого видео и задает ширину, высоту и требуемую частоту кадров для режима камеры. Чтобы эти параметры вступили в силу, объект Video необходимо удалить и создавать заново. Ширина и высота видео также должны соответствовать ширине и высоте объекта Camera.

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. Этот параметр определяет только то, когда и при каких обстоятельствах отправляется событие, а не то, записывается или воспроизводится видео на самом деле.

Чтобы камера совсем не улавливала движение, передайте значение 100 для motionLevel; в этом случае событие activity никогда не отправляется. (Скорее всего, это значение будет использоваться только для тестирования. Например, для временного отключения обработчиков, которые обычно запускаются при отправке события.)

Определить количество движения, определяемого камерой в настоящий момент можно с помощью свойства activityLevel. Значения чувствительности к движению прямо соответствуют значениям активности. При полном отсутствии движения свойство activity имеет значение 0. При постоянном движении свойство activity имеет значение 100. Значение активности меньше значения чувствительности к движению, если движения нет, тогда как во время движения значения активности часто превышают значение чувствительности к движению.

Этот метод имеет сходное применение с методом Microphone.setSilenceLevel(): они оба используются для определения, когда должно отправляться событие activity. Однако эти методы имеют в значительной степени различное влияние на публикацию потоков.

  • Метод Microphone.setSilenceLevel() предназначен для оптимизации использования полосы пропускания. Когда аудиопоток считается тихим, аудиоданные не передаются. Вместо этого отправляется одно сообщение, свидетельствующее о наступлении тишины.
  • Метод Camera.setMotionLevel() предназначен для определения движения и не влияет на использование полосы пропускания. Даже если видеопоток не обнаруживает движения, видео все равно передается.

Параметры

motionLevel:int — Задает количество движения, необходимое для передачи события activity. Диапазон допустимых значений — от 0 до 100. Значением по умолчанию является 50.
 
timeout:int (default = 2000) — Задает, сколько миллисекунд должно пройти без активности, прежде чем среда выполнения определит, что активность прекратилась, и отправит событие activity. Значение по умолчанию 2000 миллисекунд (две секунды).


Выдает
PermissionError — Приложение не имеет разрешения на использование камеры.

Связанные элементы API


Пример  ( Использование этого примера )

В следующем примере камера пользователя используется в качестве камеры слежения или обзора. Камера регистрирует движение и текстовое поле показывает уровень активности. (Пример можно расширить, добавив включение звукового сигнала или отправку сообщения через web-службу в другие приложения.)

Метод Camera.getCamera() возвращает ссылку на объект Camera или возвращает нуль, если камера недоступна или не установлена. Инструкция if проверяет, доступна ли камера, и, если да, вызывает метод connectCamera(). Метод connectCamera() создает экземпляр объекта Video с шириной и высотой записываемого потока. Для отображения видео, записываемого с камеры, ссылка на видеопоток добавляется к объекту Video, который в свою очередь добавляется в список отображения. (При вызове метода attachCamera() обычно появляется диалоговое окно с запросом доступа к камере для проигрывателя Flash Player. Однако, если пользователь запретил доступ и выбрал параметр Remember, диалоговое окно не появляется и ничего не отображается. Чтобы предоставить пользователю возможность разрешить доступ к камере, используйте метод system.Security.showSettings(), чтобы вызвать диалоговое окно параметров Flash Player.)

Метод setMotionLevel() задает значение 5 для минимального уровня активности (количество движения), необходимого для отправки события activity. Интервал между прекращением регистрации движения и отправкой события activity равен одной секунде (1000 миллисекунд). Когда проходит одна секунда без активности или уровень активности достигает пяти, отправляется событие ActivityEvent.ACTIVITY и вызывается метод activityHandler(). Если событие запущено уровнем активности, свойство activating получает значение true и запускается объект Timer. Каждую секунду отправляется событие timer объекта 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 и 0 для quality. Среда выполнения передает видео с максимально высоким качеством, возможным при заданной пропускной способности. При необходимости уменьшается качество изображения, чтобы не превышать пропускную способность. Как правило, при увеличении уровня движения качество снижается.
  • Если предпочтение отдается качеству, передайте 0 для bandwidth и числовое значение для quality. Среда выполнения использует всю пропускную способность, необходимую для сохранения заданного качества. При необходимости снижается частота кадров для сохранения качества изображения. Как правило, при увеличении уровня движения увеличивается и использование пропускной способности.
  • Если пропускная способность и качество одинаково важны, передайте числовые значения для обоих параметров. Среда выполнения передает видео заданного качества, не превышающее заданной пропускной способности. При необходимости уменьшается частота кадров для сохранения качества изображения без превышения заданной пропускной способности.

Параметры

bandwidth:int — Задает максимальную пропускную способность в секунду, которую может использовать текущий исходящий видеоканал (в байтах в секунду). Чтобы указать, что среда выполнения может использовать любую пропускную способность, необходимую для сохранения значения свойства quality, передайте значение 0 для свойства bandwidth. Значением по умолчанию является 16384.
 
quality:int — Целое число, задающее требуемый уровень качества картинки, который определяется степенью сжатия, применяемой к каждому кадру видео. Допускаются значения от 1 (самое низкое качество и максимальное сжатие) до 100 (самое высокое качество без сжатия). Чтобы указать, что качество изображения может изменяться, чтобы избежать превышения пропускной способности, передайте 0 для свойства quality.


Выдает
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 определяет значение свойства type объекта события activity.

Это событие имеет следующие свойства:

СвойствоЗначение
activatingtrue, если устройство активируется, илиfalse, если деактивируется.
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
targetОбъект, начинающий или завершающий сеанс, например объект Camera или 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.

Задает значение свойства type для объекта события status.

Это событие имеет следующие свойства:

СвойствоЗначение
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 определяет значение свойства type объекта события videoFrame.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
targetОбъект Camera, отправивший это событие.

Связанные элементы API

CameraExample.as

В следующем примере показывается изображение с камеры после подтверждения сообщения о безопасности. Настройка рабочей области не допускает масштабирования, он выровнен по верхнему левому углу окна проигрывателя. Событие 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 будет отображаться на английском языке.