ActionScript® 3.0 — dokumentacja dla platformy Adobe® Flash®
Strona główna  |  Ukryj listę pakietów i klas |  Pakiety  |  Klasy  |  Nowości  |  Indeks  |  Dodatki  |  Dlaczego język angielski?
Filtry: AIR 30.0 i wcześniejsze, Flash Player 30.0 i wcześniejsze, Flash Lite 4
Flex 4.6 i wcześniejsze, Flash Pro CS6 i wcześniejsze
Ukryj filtry
flash.media 

Camera  - AS3

Pakietyx

Najwyższy poziom
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

Elementy językowe

Stałe globalne
Funkcje globalne
Operatory
Instrukcje, słowa kluczowe i dyrektywy
Typy specjalne

Dodatki

Nowości
Błędy kompilatora
Ostrzeżenia kompilatora
Błędy czasu wykonywania
Migracja kodu ActionScript 3
Obsługiwane zestawy znaków
Tylko MXML
Elementy XML dotyczące ruchu
Znaczniki tekstu z synchronizacją czasową
Przestarzały indeks
Stałe implementacji dostępności
Instrukcje dotyczące przykładów
Informacje prawne
Pakietflash.media
Klasapublic final class Camera
DziedziczenieCamera Inheritance EventDispatcher Inheritance Object

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Klasa Camera służy do przechwytywania obrazu wideo z kamery systemu klienckiego lub urządzenia. Aby kontrolować wideo lokalnie należy skorzystać z klasy Video. Klasy NetConnection i NetStream używane są w celu transmisji wideo do serwera z oprogramowaniem Flash Media Server. Program Flash Media Server umożliwia wysyłanie strumienia wideo do innych serwerów i jego transmisję do innych komputerów klienckich, na których działa program Flash Player lub środowisko AIR.

Wystąpienie klasy Camera przechwytuje wideo w proporcjach poziomych. W przypadku urządzeń, na których można zmienić orientację ekranu, takich jak telefony komórkowe, obiekt Video dołączony do kamery wyświetla wideo prawidłowo tylko w orientacji poziomej. Oznacza to, że w aplikacjach dla urządzeń przenośnych należy używać orientacji poziomej do wyświetlania i nie należy stosować automatycznego obracania.

W systemie iOS wideo z kamery przedniej podlega odbiciu lustrzanemu. W systemie Android natomiast nie podlega.

Na urządzeniach przenośnych wyposażonych w kamerę z funkcją automatycznego ustawiania ostrości ta funkcja jest używana automatycznie. Jeśli kamera nie obsługuje ciągłego automatycznego ustawiania ostrości (co jest cechą wielu kamer urządzeń przenośnych), ustawienie ostrości kamery następuje wtedy, gdy obiekt Camera jest dołączony do strumienia wideo i jest wywoływana metoda setMode(). Na komputerach stacjonarnych zachowanie automatycznego ustawiania ostrości zależy od ustawień i sterownika kamery.

W aplikacjach AIR w systemach Android oraz iOS kamera nie przechwytuje wideo, gdy aplikacja AIR nie jest aktywna i nie działa na pierwszym planie. Ponadto gdy aplikacja działa w tle, mogą zostać utracone połączenia przesyłania strumieniowego. W systemie iOS wideo z kamery nie może być wyświetlane, gdy aplikacja korzysta z trybu renderowania GPU. Wideo z kamery może być nadal przesyłane strumieniowo na serwer.

Obsługa profilów AIR: Ta funkcja nie jest obsługiwana na urządzeniach telewizyjnych ze środowiskiem AIR. Więcej informacji o obsłudze elementów interfejsu API w różnych profilach można znaleźć w sekcji Obsługa profilów aplikacji AIR. W przypadku urządzeń telewizyjnych ze środowiskiem AIR właściwość Camera.isSupported ma wartość true, ale metoda Camera.getCamera() zawsze zwraca wartość null. Dostęp do kamery nie jest obsługiwany w przeglądarkach na urządzeniach przenośnych.

Więcej informacji o przechwytywaniu audio znajduje się w omówieniu klasy Microphone.

Ważne: Środowisko wykonawcze wyświetla okno dialogowe Prywatność, które umożliwia użytkownikowi wybranie, czy zezwolić na dostęp do kamery, czy go odmówić. Należy się upewnić, że rozmiar okna aplikacji ma wymiary przynajmniej 215 x 138 pikseli; jest to minimalny rozmiar wymagany do poprawnego wyświetlania okna dialogowego.

Aby utworzyć lub odwoływać się do obiektu Camera, należy użyć metody getCamera().

Wyświetl przykłady

Więcej informacji

Powiązane elementy interfejsu API



Właściwości publiczne
 WłaściwośćZdefiniowane przez
  activityLevel : Number
[tylko do odczytu] Intensywność ruchu wykrywanego przez kamerę.
Camera
  bandwidth : int
[tylko do odczytu] Maksymalna szerokość pasma bieżącego wyjściowego strumienia wideo (w bajtach).
Camera
 Inheritedconstructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu.
Object
  currentFPS : Number
[tylko do odczytu] Szybkość przechwytywania danych przez kamerę (liczba klatek na sekundę).
Camera
  fps : Number
[tylko do odczytu] Maksymalna szybkość przechwytywania danych przez kamerę (liczba klatek na sekundę).
Camera
  height : int
[tylko do odczytu] Bieżąca wysokość przechwytywanego obrazu (w pikselach).
Camera
  index : int
[tylko do odczytu] Indeks liczony od zera, który określa położenia kamery w tablicy Camera.names zawierającej listę dostępnych kamer.
Camera
  isSupported : Boolean
[statyczny] [tylko do odczytu] Właściwość isSupported ma wartość true, jeśli na bieżącej platformie jest obsługiwana klasa Camera; w przeciwnym razie ma wartość false.
Camera
  keyFrameInterval : int
[tylko do odczytu] Liczba klatek wideo transmitowanych w całości (tzw. klatki podstawowe), a nie w postaci klatek interpolowanych za pomocą algorytmu do kompresji wideo.
Camera
  loopback : Boolean
[tylko do odczytu] Określa, czy lokalny obraz danych przechwytywanych przez kamerę ma być kompresowany i dekompresowany (true), tak jak dzieje się to w przypadku transmisji na żywo za pomocą serwera z oprogramowaniem Flash Media Server, czy też ma nie być kompresowany (false).
Camera
  motionLevel : int
[tylko do odczytu] Intensywność ruchu niezbędna do wywołania zdarzenia aktywności.
Camera
  motionTimeout : int
[tylko do odczytu] Liczba milisekund, które muszą upłynąć od momentu wyłączenia kamery po wykryciu ruchu do momentu wywołania zdarzenia.
Camera
  muted : Boolean
[tylko do odczytu] Wartość typu Boolean, która określa, czy użytkownik zablokował dostęp do kamery (true), czy też zezwolił na ten dostęp (false) w oknie dialogowym Prywatność programu Flash Player.
Camera
  name : String
[tylko do odczytu] Nazwa bieżącej kamery (zgodnie z danymi przekazanymi przez urządzenie).
Camera
  names : Array
[statyczny] [tylko do odczytu] Tablica ciągów znaków zawierająca nazwy wszystkich dostępnych kamer.
Camera
      permissionStatus : String
[statyczny] [tylko do odczytu] Sprawdź, czy system otrzymał pozwolenie na dostęp do korzystania z kamery.
Camera
      position : String
[tylko do odczytu] Określa panel urządzenia, na którym znajduje się kamera.
Camera
  quality : int
[tylko do odczytu] Wymagany poziom jakości obrazu, zgodnie z intensywnością kompresji stosowanej do poszczególnych klatek wideo.
Camera
  width : int
[tylko do odczytu] Bieżąca szerokość przechwytywanego obrazu (w pikselach).
Camera
Metody publiczne
 MetodaZdefiniowane przez
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Rejestruje obiekt detektora zdarzeń w obiekcie EventDispatcher, dzięki czemu detektor będzie otrzymywał powiadomienia o zdarzeniu.
EventDispatcher
  
Wypełnia tablicę bajtów przy użyciu prostokątnego obszaru danych pikseli. Zapisuje liczbę całkowitą bez znaku (32-bitową, niepomnożoną wartość piksela) dla każdego piksela w tablicy bajtów.
Camera
  
copyToVector(rect:Rectangle, destination:Vector.<uint>):void
Wypełnia wektor na podstawie prostokątnego obszaru pikseli.
Camera
 Inherited
Wywołuje zdarzenie, tj. kieruje je do przepływu zdarzeń.
EventDispatcher
  
Kopiuje ostatnią klatkę do bitmapy.
Camera
  
getCamera(name:String = null):Camera
[statyczny] Zwraca odwołanie do obiektu Camera odpowiedzialnego za przechwytywanie wideo.
Camera
 Inherited
Sprawdza, czy obiekt EventDispatcher zawiera jakiekolwiek detektory zarejestrowane dla konkretnego typu zdarzeń.
EventDispatcher
 Inherited
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość.
Object
 Inherited
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr.
Object
 Inherited
Wskazuje, czy określona właściwość istnieje i jest przeliczalna.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Usuwa detektor z obiektu EventDispatcher.
EventDispatcher
  
Wysyła żądanie pozwolenia aplikacji na dostęp do kamery.
Camera
  
setKeyFrameInterval(keyFrameInterval:int):void
Określa, które klatki wideo mają być transmitowane w całości (tzw. klatki podstawowe), a nie w postaci klatek interpolowanych za pomocą algorytmu do kompresji wideo.
Camera
  
setLoopback(compress:Boolean = false):void
Określa, czy strumień danych wideo z kamery ma być kompresowany.
Camera
  
setMode(width:int, height:int, fps:Number, favorArea:Boolean = true):void
Ustawia macierzysty tryb przechwytywania kamery, który jest najlepiej dostosowany do określonych wymagań.
Camera
  
setMotionLevel(motionLevel:int, timeout:int = 2000):void
Określa intensywność ruchu niezbędną do wywołania zdarzenia.
Camera
 Inherited
Ustawia dostępność właściwości dynamicznej używanej w pętlach.
Object
  
setQuality(bandwidth:int, quality:int):void
Pozwala ustawić maksymalną szerokość pasma na sekundę lub wymaganą jakość wyjściowego obrazu wideo.
Camera
 Inherited
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych.
Object
 Inherited
Zwraca ciąg reprezentujący określony obiekt.
Object
 Inherited
Zwraca pierwotną wartość dla określonego obiektu.
Object
 Inherited
Sprawdza, czy detektor zdarzeń określonego typu jest zarejestrowany w tym obiekcie EventDispatcher lub jego elementach macierzystych.
EventDispatcher
Zdarzenia
 Zdarzenie Podsumowanie Zdefiniowane przez
 Inherited[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja środowiska wykonawczego AIR uzyskuje fokus w systemie operacyjnym i przechodzi w stan aktywny.EventDispatcher
  Wywoływane, gdy aparat rozpoczyna lub kończy sesję.Camera
 Inherited[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja AIR traci fokus w systemie operacyjnym i przechodzi w stan nieaktywny.EventDispatcher
  Rozsyłane, gdy aplikacja zażąda pozwolenia na użycie kamery urządzenia.Camera
  Wywoływane, gdy kamera zgłasza swój stan.Camera
  Wywoływane bezpośrednio po przetworzeniu nowej klatki kamery przez kod podstawowy, gdy dane są dostępne do skopiowania.Camera
Szczegół właściwości

activityLevel

właściwość
activityLevel:Number  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Intensywność ruchu wykrywanego przez kamerę. Wartości mieszczą się w przedziale od 0 (żaden ruch nie został wykryty) do 100 (wykryto dużą intensywność ruchu) Wartość tej właściwości jest pomocna przy określaniu, czy do metodysetMotionLevel() należy przekazać ustawienie.

Jeśli kamera jest dostępna, ale nie była jeszcze używana, ponieważ nie wywołano metody Video.attachCamera(), właściwość będzie miała wartość -1.

Jeśli strumieniowo przesyłane są jedynie nieskompresowane lokalne materiały wideo, ta właściwość będzie ustawiana tylko wtedy, gdy przypisano funkcję do obsługi zdarzeń. W innym wypadku pozostanie niezdefiniowana.



Implementacja
    public function get activityLevel():Number

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z kamery.

Powiązane elementy interfejsu API

bandwidth

właściwość 
bandwidth:int  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Maksymalna szerokość pasma bieżącego wyjściowego strumienia wideo (w bajtach). Wartość 0 oznacza, że źródło może korzystać z szerokości pasma w potrzebnym mu wymiarze w celu zachowania pożądanej jakości klatki.

Aby ustawić tę właściwość, należy skorzystać z metodysetQuality().



Implementacja
    public function get bandwidth():int

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z kamery.

Powiązane elementy interfejsu API

currentFPS

właściwość 
currentFPS:Number  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Szybkość przechwytywania danych przez kamerę (liczba klatek na sekundę). Właściwości nie można ustawić; można jednak skorzystać z metodysetMode(), aby ustawić powiązaną właściwość — fps — która określa maksymalną liczbę klatek na sekundę, z jaką kamera będzie przechwytywać dane.



Implementacja
    public function get currentFPS():Number

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z kamery.

Powiązane elementy interfejsu API

fps

właściwość 
fps:Number  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Maksymalna szybkość przechwytywania danych przez kamerę (liczba klatek na sekundę). Maksymalna do osiągnięcia szybkość zależy od możliwości kamery; ta liczba klatek na sekundę może nie zostać osiągnięta.

  • Aby ustawić odpowiednią wartość tej właściwości, należy skorzystać z metodysetMode().
  • Aby określić szybkość aktualnie przechwytywanych przez kamerę danych, należy skorzystać z właściwości currentFPS.



Implementacja
    public function get fps():Number

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z kamery.

Powiązane elementy interfejsu API

height

właściwość 
height:int  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Bieżąca wysokość przechwytywanego obrazu (w pikselach). Aby ustawić wartość dla tej właściwości, należy skorzystać z metodysetMode().



Implementacja
    public function get height():int

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z kamery.

Powiązane elementy interfejsu API

index

właściwość 
index:int  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Indeks liczony od zera, który określa położenia kamery w tablicy Camera.names zawierającej listę dostępnych kamer.



Implementacja
    public function get index():int

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z kamery.

Powiązane elementy interfejsu API

isSupported

właściwość 
isSupported:Boolean  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Właściwość isSupported ma wartość true, jeśli na bieżącej platformie jest obsługiwana klasa Camera; w przeciwnym razie ma wartość false.



Implementacja
    public static function get isSupported():Boolean

keyFrameInterval

właściwość 
keyFrameInterval:int  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Liczba klatek wideo transmitowanych w całości (tzw. klatki podstawowe), a nie w postaci klatek interpolowanych za pomocą algorytmu do kompresji wideo. Wartością domyślna jest 15, co oznacza, że każda 15. klatka jest klatką podstawową. Wartość 1 oznacza, że wszystkie klatki są klatkami podstawowymi. Dopuszczalne wartości mieszczą się w przedziale od 1 do 300.



Implementacja
    public function get keyFrameInterval():int

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z kamery.

Powiązane elementy interfejsu API

loopback

właściwość 
loopback:Boolean  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Określa, czy lokalny obraz danych przechwytywanych przez kamerę ma być kompresowany i dekompresowany (true), tak jak dzieje się to w przypadku transmisji na żywo za pomocą oprogramowania Flash Media Server, czy też ma nie być kompresowany (false). Wartością domyślną jest false.

Mimo, że skompresowany strumień jest użyteczny dla celów testowych takich, jak podglądanie ustawień jakości wideo, obarczony jest znaczącym kosztem przetwarzania Lokalny obraz jest kompresowany, edytowany do celów transmisji (podobnie jak w połączeniu z transmisją na żywo) i dekompresowany w celu lokalnego wyświetlania.

Aby ustawić tę wartość, należy skorzystać z metodyCamera.setLoopback(). Aby ustawić stopień użytej kompresji, jeśli ta właściwość ma wartość true, należy skorzystać z metody Camera.setQuality().



Implementacja
    public function get loopback():Boolean

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z kamery.

Powiązane elementy interfejsu API

motionLevel

właściwość 
motionLevel:int  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Intensywność ruchu niezbędna do wywołania zdarzenia activity. Dopuszczalne wartości mieszczą się w przedziale od 0 do 100. Wartością domyślną jest 50.

Wideo można wyświetlić bez względu na wartość właściwości motionLevel. Aby znaleźć więcej informacji na ten temat, należy zapoznać się z metodą setMotionLevel()



Implementacja
    public function get motionLevel():int

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z kamery.

Powiązane elementy interfejsu API

motionTimeout

właściwość 
motionTimeout:int  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Liczba milisekund, które muszą upłynąć od momentu wyłączenia kamery po wykryciu ruchu do momentu wywołania zdarzenia activity. Wartość domyślna to 2000 milisekund (2 sekundy).

Aby ustawić tę wartość, należy skorzystać z metody setMotionLevel().



Implementacja
    public function get motionTimeout():int

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z kamery.

Powiązane elementy interfejsu API

muted

właściwość 
muted:Boolean  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Wartość typu Boolean, która określa, czy użytkownik zablokował dostęp do kamery (true), czy też zezwolił na ten dostęp (false) w oknie dialogowym Prywatność programu Flash Player. Jeśli wartość ulegnie zmianie, wywołane zostanie zdarzenie status.



Implementacja
    public function get muted():Boolean

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z kamery.

Powiązane elementy interfejsu API

name

właściwość 
name:String  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Nazwa bieżącej kamery (zgodnie z danymi przekazanymi przez urządzenie).



Implementacja
    public function get name():String

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z kamery.

Powiązane elementy interfejsu API

names

właściwość 
names:Array  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Tablica ciągów znaków zawierająca nazwy wszystkich dostępnych kamer. Uzyskanie dostępu do tej tablicy nie powoduje wyświetlenia okna dialogowego Prywatność programu Flash Player. Zawiera ona indeksy liczone od zera dla każdej kamery oraz liczbę kamer w systemie (przy użyciu właściwości names.length).

Wywołanie właściwości names wymaga rozległego sprawdzania urządzeń. W większości przypadków istnieje możliwość skorzystania z domyślnej kamery.



Implementacja
    public static function get names():Array

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z kamery.

Powiązane elementy interfejsu API

    

permissionStatus

właściwość 
permissionStatus:String  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 24.0

Sprawdź, czy system otrzymał pozwolenie na dostęp do korzystania z kamery.



Implementacja
    public static function get permissionStatus():String

Powiązane elementy interfejsu API

    

position

właściwość 
position:String  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 3.0

Określa panel urządzenia, na którym znajduje się kamera.

Za pomocą właściwości position można ustalić, czy kamera znajduje się na przednim czy na tylnym panelu urządzenia przenośnego. Poniższa funkcja sprawdza wszystkie dostępne kamery do momentu znalezienia kamery o żądanym położeniu. Jeśli żadna z kamer nie ma żądanego położenia, zwracana jest kamera domyślna.

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

W przypadku urządzeń przenośnych położenie kamery ma zazwyczaj wartość CameraPosition.FRONT lub CameraPosition.BACK. Jeśli nie można określić położenia kamery, zgłaszana jest wartość CameraPosition.UNKNOWN. W przypadku platform (komputerów) stacjonarnych położenie ma zawsze wartość CameraPosition.UNKNOWN.

Stałe dla wartości prawidłowych tej właściwości są zdefiniowane w klasie CameraPosition.



Implementacja
    public function get position():String

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z kamery.

Powiązane elementy interfejsu API

quality

właściwość 
quality:int  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Wymagany poziom jakości obrazu, zgodnie z intensywnością kompresji stosowanej do poszczególnych klatek wideo. Dopuszczalne wartości jakości mieszczą się w przedziale od 1 (najniższa jakość, najwyższy stopień kompresji) do 100 (najwyższa jakość, brak kompresji). Wartością domyślną jest 0, co oznacza, że jakość obrazu można zmieniać w zależności od potrzeb w celu uniknięcia przekroczenia szerokości pasma.

Aby ustawić tę właściwość, należy skorzystać z metodysetQuality().



Implementacja
    public function get quality():int

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z kamery.

Powiązane elementy interfejsu API

width

właściwość 
width:int  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Bieżąca szerokość przechwytywanego obrazu (w pikselach). Aby ustawić pożądaną wartość dla tej właściwości, należy skorzystać z metodysetMode().



Implementacja
    public function get width():int

Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z kamery.

Powiązane elementy interfejsu API

Szczegół metody

copyToByteArray

()metoda
public function copyToByteArray(rect:Rectangle, destination:ByteArray):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 11.4, AIR 3.4

Wypełnia tablicę bajtów na podstawie prostokątnego obszaru pikseli.

Zapisuje w tablicy bajtów liczbę całkowitą bez znaku (32-bitową wartość nieprzemnożoną pikseli) dla każdego piksela. Rozmiar tablicy jest zmieniany tak, aby zawierała liczbę bajtów wystarczającą do przechowywania danych wszystkich pikseli.

Parametry

rect:Rectangle — Obszar prostokątny w obecnym obiekcie BitmapData.
 
destination:ByteArray — Obiekt ByteArray reprezentujący piksele w danym prostokącie.


Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z kamery.
 
TypeError — Właściwość rect ma wartość null.
 
TypeError — Właściwość destination ma wartość null.

Powiązane elementy interfejsu API

copyToVector

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 11.4, AIR 3.4

Wypełnia wektor na podstawie prostokątnego obszaru pikseli.

Zapisuje w wektorze liczbę całkowitą bez znaku (32-bitową wartość nieprzemnożoną pikseli) dla każdego piksela. Rozmiar wektora jest zmieniany tak, aby zawierał liczbę pozycji wystarczającą do przechowywania danych wszystkich pikseli.

Parametry

rect:Rectangle — Obszar prostokątny w obecnym obiekcie BitmapData.
 
destination:Vector.<uint> — Obiekt typu Vector.Obiekt <uint> reprezentujący piksele w danym prostokącie.


Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z kamery.
 
TypeError — Właściwość rect ma wartość null.
 
TypeError — Właściwość destination ma wartość null.

Powiązane elementy interfejsu API

drawToBitmapData

()metoda 
public function drawToBitmapData(destination:BitmapData):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 11.4, AIR 3.4

Kopiuje ostatnią klatkę do bitmapy.

Ta metoda kopiuje zawartość ostatniej klatki do obiektu BitmapData.

Parametry

destination:BitmapData — Obiekt wystąpienia klasy BitmapData, który powinien zawierać ostatnią klatkę.


Zgłasza
ArgumentError — Błąd kInvalidBitmapDataError, jeśli wartość destination jest zbyt mała.

Powiązane elementy interfejsu API

getCamera

()metoda 
public static function getCamera(name:String = null):Camera

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Zwraca odwołanie do obiektu Camera odpowiedzialnego za przechwytywanie wideo. Aby rozpocząć przechwytywanie wideo, należy dołączyć obiekt Camera do obiektu Video (szczegóły można znaleźć w opisie metody Video.attachCamera() ). Aby rozpocząć transmisję wideo na serwer z oprogramowaniem Flash Media Server, należy wywołać metodę NetStream.attachCamera() w celu dołączenia obiektu Camera do obiektu NetStream.

Wielokrotne wywołania metody getCamera() odwołują się do tego samego sterownika kamery. Zatem, jeśli fragment kodu wygląda podobnie do tego firstCam:Camera = getCamera() i secondCam:Camera = getCamera(), wtedy obie kamery firstCam i secondCam odwołują się do tej samej domyślnej kamery użytkownika.

Na urządzeniach przenośnych wyposażonych w kamerę skierowaną do przodu i do tyłu można przechwytywać wideo tylko z jednej kamery naraz.

Na ogół nie należy przekazywać wartości do parametru name; prościej użyć metody getCamera(), aby zwrócić odwołanie do domyślnej kamery. Za pomocą panelu ustawień kamery (omówiony w dalszej części tej sekcji) użytkownik może określić domyślną kamerę, z której będzie korzystać.

Nie można użyć języka ActionScript, aby skonfigurować ustawienia zezwalania lub odmawiania dostępu do kamery, ale istnieje możliwość wyświetlenia okna dialogowego ustawień kamery w ustawieniach programu Adobe Flash Player, w którym użytkownik może ustalić uprawnienia do kamery. Jeśli plik SWF usiłuje za pomocą metody attachCamera() dołączyć do obiektu Video lub NetStream kamerę zwróconą przez metodę getCamera(), program Flash Player wyświetli okno dialogowe, które umożliwi użytkownikowi wybranie, czy zezwolić, czy odmówić dostępu do kamery. (Należy upewnić się, że rozmiar okna aplikacji ma wymiary przynajmniej 215 x 138 pikseli; jest to minimalny rozmiar wymagany przez program Flash Player w celu poprawnego wyświetlania okna dialogowego). Jeśli użytkownik odpowiada w oknie dialogowym ustawień kamery, program Flash Player zwraca informacje w zdarzeniu status, które wskazuje odpowiedź użytkownika: Camera.Muted oznacza, że użytkownik odmówił dostępu do kamery; Camera.Unmuted oznacza, że użytkownik zezwolił na dostęp do kamery. Aby określić, czy użytkownik odmówił, czy zezwolił na dostęp do kamery, nie obsługując zdarzenia status, należy skorzystać z właściwości muted.

W programie Flash Player użytkownik może określić stałe ustawienia prywatności dla konkretnej domeny, klikając prawym klawiszem myszy (system Windows oraz Linux) lub klikając klawisz Control (komputery Macintosh) podczas odtwarzania pliku SWF, wybierając Ustawienia, otwierając okno dialogowe Prywatność i wybierając opcję Zapamiętaj. Jeśli użytkownik wybrał opcję Zapamiętaj, program Flash Player nie będzie więcej pytał użytkownika, czy zezwolić, czy odmówić plikom SWF z tej domeny dostępu do kamery.

Uwaga: metoda·attachCamera() nie wywoła okna dialogowego w celu przyznania lub odmowy dostępu do kamery, jeśli użytkownik odmówił dostępu wybierając opcję Pamiętaj w oknie dialogowym ustawień programu Flash Player. W tym przypadku można poprosić użytkownika o zmianę ustawienia zezwolenia lub odmowy, wyświetlając panel ustawień prywatności programu Flash Player za pomocą metody Security.showSettings(SecurityPanel.PRIVACY).

Jeśli metoda getCamera() zwróci wartość null, oznacza to, że z kamery korzysta inna aplikacja lub nie ma żadnych kamer zainstalowanych w systemie. Aby określić, czy w systemie są zainstalowane kamery, należy skorzystać z właściwości names.length. Aby wyświetlić panel ustawień kamery Flash Player, który umożliwia użytkownikowi wybranie kamery, do której będzie się odwoływać metoda getCamera(), należy skorzystać z metody Security.showSettings(SecurityPanel.CAMERA).

Skanowanie sprzętu w celu wyszukania kamer jest czasochłonne. Jeśli środowisko wykonawcze znajdzie przynajmniej jedną kamerę, sprzęt nie będzie ponownie skanowany w celu określenia czasu życia instancji odtwarzacza. Jednak jeśli program nie znajdzie żadnej kamery, będzie przeprowadzał skanowanie przy każdym wywołaniu metody getCamera. Jest to pomocne, jeśli kamera podłączona, ale wyłączona; jeśli plik SWF udostępnia przycisk Spróbuj ponownie, który wywołuje getCamera, program Flash Player znajdzie kamerę bez konieczności ponownego uruchamiania pliku SWF.

Parametry

name:String (default = null) — Określa, którą kamerę należy pobrać z tablicy zwróconej przez właściwość names. Dla większości aplikacji należy pobrać domyślną kamerę, pomijając ten parametr. Aby określić wartość parametru, należy użyć pozycji indeksu, zapisanej jako ciąg znaków, z tablicy Camera.names (tablica indeksowana od zera). Na przykład, aby wskazać trzecią kamerę w tablicy, należy skorzystać z następującego zapisu: Camera.getCamera("2").

Zwraca
Camera — Jeśli parametr name nie został określony, metoda zwróci odwołanie do domyślnej kamery lub jeśli jest w danej chwili używana przez inna aplikację, do pierwszej dostępnej kamery. (Jeśli zainstalowano więcej niż jedną kamerę, użytkownik może określić domyślną kamerę w panelu Ustawienia kamery programu Flash Player). Jeśli żadna kamera nie jest dostępna, ani zainstalowana, metoda zwraca wartość null.

Zdarzenia
status:StatusEvent — Wywoływane, gdy kamera zgłasza swój stan. Przed uzyskaniem dostępu do kamery program Flash Player wyświetla okno dialogowe, dzięki któremu użytkownik może uzyskać dostęp do zawartości kamery lub zrezygnować z używania kamery. Jeśli właściwość code ma wartość "Camera.Muted", oznacza to, że użytkownik odmówił udzielenia dostępu do kamery plikowi SWF. Jeśli właściwość code ma wartość Camera.Unmuted, oznacza to, że użytkownik zezwolił plikowi SWF na dostęp do kamery.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

W poniższym przykładzie po zezwoleniu przez użytkownika na dostęp do kamery, podłączona kamera używana jest do przechwytywania obrazów wideo. Informacje o strumieniu wideo takie, jak aktualna liczba klatek na sekundę, są także wyświetlane.

Metoda Camera.getCamera() zwraca odwołanie do obiektu kamery lub zwraca wartość null, jeśli żadna kamera nie jest dostępna, ani zainstalowana. Instrukcja „if” sprawdza, czy odnaleziono kamerę i czy użytkownik zezwolił na dostęp do niej. Jeśli użytkownik odmówił dostępu, właściwość muted jest ustawiana na wartość true.

Zazwyczaj, jeśli wywoływana jest metoda attachCamera(), pojawia się okno dialogowe i wyświetlane jest pytanie, czy zezwolić lub odmówić na dostęp do kamery przez program Flash Player. Jeśli jednak użytkownik odmówił dostępu i zaznaczył opcję Remember, okno dialogowe nie pojawi się i nic nie zostanie wyświetlone. Aby upewnić się, że użytkownik ma możliwość zezwolenia na dostęp do kamery, pole tekstowe myTextField informuje użytkownika, że należy kliknąć pole tekstowe, aby wywołać okno dialogowe ustawień programu Flash Player.

Metoda clickHandler() wywołuje metodę Security.showSettings(), która wyświetla panel PRIVACY okna dialogowego Ustawienia. Jeśli użytkownik zezwala na dostęp, wywoływane jest zdarzenie StatusEvent.STATUS i wartość właściwości code zdarzenia jest ustawiana na Camera.Unmuted. (Właściwość mute obiektu kamery jest również ustawiana na false).

Metoda statusHandler(), dodana w celu nasłuchiwania zmian stanu ustawień użytkownika, wywołuje metodęconnectCamera(), jeśli użytkownik zezwolił na dostęp. Metoda connectCamera() tworzy obiekt wideo z szerokością i wysokością przechwyconego strumienia. Aby wyświetlić wideo przechwycone z kamery, do obiektu wideo dołączane jest odwołanie do strumienia wideo i obiekt dodawany jest do lity wyświetlania.

Obiekt Timer jest również uruchamiany. Każdej sekundy wywoływane jest zdarzenie czasomierza obiektu Timer oraz metoda timerHandler(). Metoda timerHandler() jest wyświetlana, a następnie uaktualnia ona wiele właściwości obiektu Camera.

Uwaga: w tym przykładzie jedyną właściwością, która ulega zmianie jest właściwość 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

()metoda 
public function requestPermission():void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 24.0

Wysyła żądanie pozwolenia aplikacji na dostęp do kamery.


Zdarzenia
PermissionStatus:PermissionEvent — Rozsyłane, gdy użytkownik udzieli / nie udzieli zażądanego pozwolenia.

setKeyFrameInterval

()metoda 
public function setKeyFrameInterval(keyFrameInterval:int):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Określa, które klatki wideo mają być transmitowane w całości (tzw. klatki podstawowe), a nie w postaci klatek interpolowanych za pomocą algorytmu do kompresji wideo. Tę metodę można stosować tylko, jeśli wideo transmitowane jest za pomocą oprogramowania Flash Media Server.

Algorytm do kompresji wideo Flash kompresuje obraz wideo, transmitując jedynie te fragmenty, które uległy zmianom w porównaniu z ostatnią klatką wideo; te fragmenty są rozpatrywane jako klatki interpolowane. Klatki wideo mogą być interpolowane zgodnie z zawartością poprzedniej klatki. Jednak klatka podstawowa jest klatką wideo, która jest kompletna; nie jest interpolowana na podstawie wcześniejszych klatek.

Podejmując decyzję o wyborze wartości dla parametru keyFrameInterval, należy brać pod uwagę zarówno przepustowość, jak i możliwość odtwarzania wideo przez użytkowników. Na przykład wyższa wartość właściwości keyFrameInterval (przesyłanie klatek kluczowych z mniejszą częstotliwością) zmniejsza zajęte pasmo (wymaganą przepustowość). Może to jednak zwiększyć ilość czasu potrzebnego do ustawienia głowicy odtwarzania w konkretnym punkcie obrazu wideo; dla wcześniejszych klatek wideo mogła istnieć konieczność ich interpolacji, zanim odtwarzanie wideo zostanie wznowione.

Odpowiednio, kiedy wartość określana właściwości keyFrameInterval jest mniejsza (przesyłanie klatek podstawowych z wyższą częstotliwością), wtedy użycie dostępności pasma wzrasta, ponieważ pełne klatki wideo są częściej transmitowane, ale może to zmniejszyć ilość czasu potrzebnego na wyszukanie konkretnej klatki wideo w nagranym pliku.

Parametry

keyFrameInterval:int — Wartość określa, które klatki wideo mają być transmitowane w całości (jako klatki podstawowe), a nie w postaci klatek interpolowanych za pomocą algorytmu do kompresji wideo. Wartość 1 oznacza, że wszystkie klatki są klatkami podstawowymi, wartość 3 oznacza, że co trzecia klatka jest klatką podstawową itd. Dopuszczalne wartości mieszczą się w przedziale od 1 do 48.


Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z kamery.

Powiązane elementy interfejsu API

setLoopback

()metoda 
public function setLoopback(compress:Boolean = false):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Określa, czy strumień danych wideo z kamery ma być kompresowany. Tę metodę można stosować tylko, jeśli wideo transmitowane jest za pomocą serwera z oprogramowaniem Flash Media Server; ustawienie parametru compress na wartość true umożliwi lepsze zaprezentowanie sposobu, w jaki wideo zostanie wyświetlone użytkownikom, kiedy będą oglądać go w czasie rzeczywistym.

Mimo, że skompresowany strumień jest użyteczny dla celów testowych takich, jak podglądanie ustawień jakości wideo, obarczony jest znaczącym kosztem przetwarzania, ponieważ lokalny obraz danych nie jest zwyczajnie kompresowany; jest kompresowany, edytowany do celów transmisji (podobnie jak w połączeniu z transmisją na żywo) i dekompresowany do lokalnego przeglądania.

Aby skonfigurować stopień kompresji użytej w czasie ustawiania parametru compress na wartość true, należy skorzystać z metody Camera.setQuality().

Parametry

compress:Boolean (default = false) — Określa, czy dla lokalnego obrazu danych pobieranych przez kamerę należy stosować skompresowany (wartość true), czy nieskompresowany strumień wideo (wartość false).


Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z kamery.

Powiązane elementy interfejsu API

setMode

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

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Ustawia macierzysty tryb przechwytywania kamery, który jest najlepiej dostosowany do określonych wymagań. Jeśli kamera nie ma trybu natywnego, który odpowiadałby wszystkim przekazanym parametrom, środowisko wykonawcze wybiera tryb przechwytywania, który jest najbardziej zgodny z żądanym trybem. Takie przekształcenie może wpłynąć na obcinanie obrazu i pomijanie klatek.

Domyślnie środowisko wykonawcze zmniejsza liczbę klatek w razie potrzeby, aby zachować rozdzielczość obrazu. Aby zminimalizować liczbę pominiętych klatek, nawet jeśli oznaczałoby to zmniejszenie rozdzielczość obrazu, należy przekazać do parametru favorArea wartość false.

Wybierając tryb natywny, środowisko wykonawcze usiłuje zachować żądany współczynnik kształtu obrazu zawsze, kiedy to możliwe. Jeśli na przykład zostanie wywołane polecenie mojaKamera.setMode(400, 400, 30), a największą dostępną rozdzielczością obrazu kamery jest 320 x 288, środowisko wykonawcze ustawi wartość 288 zarówno dla wysokości, jak i szerokości. Ustawiając te właściwości na taką samą wartość, środowisko wykonawcze zachowa żądany współczynnik kształtu obrazu równy 1:1.

Aby określić wartości przypisane do tych właściwości, po wybraniu przez środowisko wykonawcze trybu, który najbardziej odpowiada żądanym wartościom, należy użyć właściwości width, height oraz fps.

Korzystając z oprogramowania Flash Media Server, można także przechwytywać pojedyncze klatki lub tworzyć zdjęcia poklatkowe. Aby uzyskać·więcej informacji na ten temat, należy zapoznać się z metodą NetStream.attachCamera().

Parametry

width:int — Wymagana szerokość przechwytywanego obrazu (w pikselach). Wartością domyślną jest 160.
 
height:int — Wymagana wysokość przechwytywanego obrazu (w pikselach). Wartością domyślną jest 120.
 
fps:Number — Wymagana szybkość przechwytywania danych przez kamerę (liczba klatek na sekundę). Wartością domyślną jest 15.
 
favorArea:Boolean (default = true) — Określa, czy należy modyfikować szerokość, wysokość i szybkość odtwarzania, jeśli kamera nie posiada macierzystego trybu, który jest dostosowany do określonych wymagań. Wartością domyślną jest true, co oznacza, że zachowanie wymiarów przechwytywania jest korzystne; za pomocą tego parametru wybierany jest tryb, który najwierniej oddaje wartości width i height, nawet jeśli wpływa to niekorzystnie na jakość przez zmniejszenie częstotliwości·odtwarzania. Aby do maksimum zwiększyć prędkość odtwarzania kosztem rozdzielczości obrazu kamery, należy przekazać w parametrze favorArea wartość false.


Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z kamery.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

W poniższym przykładzie, jeśli użytkownik kliknie na stół montażowy, zmieniona zostanie wielkość wideo, a częstotliwości przechwytywania klatek przypisana zostanie nowa wartość.

Stół montażowy został ustawiony, dlatego nie można go skalować. Metoda Camera.getCamera() zwraca odniesienie do obiektu kamery lub zwraca wartość null, jeśli żadna kamera nie jest dostępna, ani zainstalowana. Jeśli kamera istnieje wywoływana jest metoda connectCamera(). Metoda connectCamera() tworzy obiekt wideo. Aby wyświetlić wideo przechwycone z kamery, do obiektu wideo dołączane jest odwołanie do strumienia wideo i obiekt dodawany jest do lity wyświetlania. Detektor zdarzeń jest ustawiany na wartość MouseEvent.CLICK. Kliknięcie na stół montażowy powoduje wywołanie metody clickHandler(). W metodzie sprawdzana jest szerokość przechwytywanego obrazu wideo i ustawiana jest szerokość, wysokość i częstotliwość liczby klatek trybu przechwytywania kamery. Aby ustawienia odniosły efekt, należy usunąć obiekt wideo i ponownie go utworzyć. Szerokość i wysokość obrazu wideo należy również dostosować do szerokości i wysokości obiektu kamery.

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

()metoda 
public function setMotionLevel(motionLevel:int, timeout:int = 2000):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Określa intensywność ruchu niezbędną do wywołania zdarzeniaactivity. Opcjonalnie ustawia czas bezczynności (w milisekundach), jaki musi upłynąć, zanim środowisko wykonawcze uwzględni zatrzymanie ruchu i wywoła zdarzenie.

Uwaga: wideo może być wyświetlane bez względu na wartość parametru motionLevel. Parametr określa jedynie kiedy i jakich okolicznościach wywoływane jest zdarzenie — nie zaś, czy obraz wideo jest w tej chwili przechwytywany lub wyświetlany.

Aby uniemożliwić wykrywanie ruchu przez kamerę, należy przekazać wartość 100 w parametrze motionLevel; zdarzenie activity nigdy nie zostanie wywołane. (Prawdopodobnie wartość ta będzie używana jedynie w celach testowych — na przykład aby tymczasowo wyłączyć moduły obsługi, które są zazwyczaj uruchamiane w momencie wywoływania zdarzenia).

Aby określić intensywność ruchu, który w danym momencie wykrywa kamera, należy skorzystać z właściwości activityLevel. Wartości czułości na ruch bezpośrednio odpowiadają wartościom aktywności. Całkowity brak ruchu oznacza wartość aktywności równą 0. Ciągły ruch to aktywność o wartości 100. Wartość aktywności jest mniejsza od wartości czułości na ruch, kiedy kamera się nie porusza; jeśli kamera jest w ruchu wartości aktywności często przewyższa wartość czułości na ruch.

Metoda ma podobne przeznaczenie, jak metoda Microphone.setSilenceLevel(); obie metody są używane do określania, kiedy należy wywołać zdarzenie activity. Jednak obie metody mają znacząco różny wpływ na publikowanie strumieni:

  • Metoda Microphone.setSilenceLevel() została zaprojektowana w celu optymalizacji szerokości pasma. Jeśli strumień audio zostanie uznany za cichy, żadne dane audio nie będą przesyłane. W zamian przesłany zostanie komunikat informujący o rozpoczęciu się ciszy.
  • Metoda Camera.setMotionLevel() została zaprojektowana w celu wykrywania ruchu i nie ma żadnego wpływu na użycie szerokości pasma. Nawet jeśli w strumieniu wideo nie jest wykrywany ruch, wideo jest nadal przesyłane.

Parametry

motionLevel:int — Określa intensywność ruchu niezbędną do wywołania zdarzenia activity. Dopuszczalne wartości mieszczą się w przedziale od 0 do 100. Wartością domyślną jest 50.
 
timeout:int (default = 2000) — Określa czas bezczynności (w milisekundach), jaki musi upłynąć, zanim środowisko wykonawcze uwzględni zatrzymanie działania i wywoła zdarzenie activity. Wartość domyślna to 2000 milisekund (2 sekundy).


Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z kamery.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

W poniższym przykładzie kamera użytkownika została użyta jako urządzenie kontrolne lub kamera nadzoru. Kamera wykrywa ruch, a w polu tekstowym pokazywany jest poziom aktywności. (Przykład można rozszerzyć o obsługę wydawania dźwięku alarmowego lub przesyłanie komunikatu do innych aplikacji za pomocą usługi sieciowej).

Metoda Camera.getCamera() zwraca odniesienie do obiektu kamery lub zwraca wartość null, jeśli żadna kamera nie jest dostępna ani zainstalowana. W instrukcji „if” sprawdzana jest dostępność kamery i jeśli jest ona dostępna, wywoływana jest metoda connectCamera(). Metoda connectCamera() tworzy obiekt wideo z szerokością i wysokością przechwyconego strumienia. Aby wyświetlić wideo przechwycone z kamery, do obiektu wideo dołączane jest odniesienie do strumienia wideo i obiekt dodawany jest do lity wyświetlania. Zazwyczaj, jeśli wywoływana jest metoda attachCamera(), pojawia się okno dialogowe i wyświetlane jest pytanie, czy zezwolić lub odmówić na dostęp do kamery przez program Flash Player. Jeśli jednak użytkownik odmówił dostępu i zaznaczył opcję Remember, okno dialogowe nie pojawi się i nic nie zostanie wyświetlone. Aby upewnić się, że użytkownik ma możliwość zezwolenia na dostęp do kamery, należy skorzystać z metody system.Security.showSettings() w celu wywołania okna dialogowego ustawień programu Flash Player.

Zanim wywoływane zostanie zdarzenie aktywności metoda setMotionLevel() ustawia poziom aktywności (intensywności ruchu) na wartość pięć, aby ruch był minimalny. Czas, pomiędzy zatrzymaniem wykrywania ruchu w kamerze, a wywołaniem zdarzenia aktywności, jest ustawiony na 1 sekundę (1000 milisekund). Jeśli brak aktywności po upłynięciu sekundy lub poziom aktywności osiągnie wartość pięć, wywoływane jest zdarzenie ActivityEvent.ACTIVITY oraz metoda activityHandler(). Jeśli zdarzenie zostało wywołane ze względu na poziom aktywności, właściwość activating jest ustawiana na wartość true i uruchamiany jest obiekt Timer. Każdej sekundy wywoływane jest zdarzenie czasomierza obiektu Timer oraz metoda timerHandler(), która wyświetla bieżący poziom aktywności (Mimo, że poziom piąty lub wyższy powoduje uruchomienie czasomierza, wyświetlany bieżący poziom aktywności może być mniejszą liczbą).

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

()metoda 
public function setQuality(bandwidth:int, quality:int):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Pozwala ustawić maksymalną szerokość pasma na sekundę lub wymaganą jakość wyjściowego obrazu wideo. Tę metodę można stosować tylko, jeśli wideo transmitowane jest za pomocą serwera z oprogramowaniem Flash Media Server.

Za pomocą tej metody można określić, który element wyjściowego obrazu wideo jest ważniejszy dla aplikacji — wykorzystanie przepustowości czy jakość obrazu.

  • Aby wskazać, że wykorzystanie przepustowości jest ważniejsze, należy przekazać wartość dla parametru bandwidth i wartość 0 dla parametru quality. Środowisko wykonawcze transmituje wideo o najwyższej jakości dostępnej dla określonej przepustowości. W razie potrzeby środowisko wykonawcze obniża jakość obrazu, aby uniknąć przekroczenia określonej przepustowości. Na ogół wzrost intensywności ruchu obniża jakość obrazu.
  • Aby wskazać, że jakość jest ważniejsza, należy przekazać do parametru bandwidth wartość 0 i wartość liczbową do parametru quality. Środowisko wykonawcze korzysta z przepustowości wymaganej do zachowania określonej jakości obrazu. W razie potrzeby środowisko wykonawcze obniża liczbę klatek na sekundę, aby zachować jakość obrazu. Na ogół wzrost intensywności ruchu powoduje zwiększenie szerokości pasma.
  • Aby wskazać, że szerokość pasma i jakość są równie ważne, należy przekazać wartość liczbową do obu parametrów. Środowisko wykonawcze transmituje wideo o ustalonej jakości, która nie powoduje przekroczenia określonej przepustowości. W razie potrzeby środowisko wykonawcze obniża liczbę klatek na sekundę, aby zachować jakość obrazu, nie przekraczając określonej przepustowości.

Parametry

bandwidth:int — Określa maksymalną szerokość pasma, z którego może korzystać bieżący wyjściowy strumień wideo (w bajtach na sekundę). Aby dla obrazu wideo określić możliwość korzystania z przepustowości w wymiarze potrzebnym do zachowania wartości parametru quality, należy do parametru bandwidth przekazać wartość 0. Wartością domyślną jest 16384.
 
quality:int — Liczba całkowita określająca wymaganą jakość obrazu, zgodnie z intensywnością kompresji stosowanej do poszczególnych klatek wideo. Dopuszczalne wartości mieszczą się w przedziale od 1 (najniższa jakość, najwyższy stopień kompresji) do 100 (najwyższa jakość, brak kompresji). Aby określić, że jakość obrazu można zmieniać w zależności od potrzeb (w celu uniknięcia przekroczenia szerokości pasma), należy do parametru quality przekazać wartość 0.


Zgłasza
PermissionError — Ta aplikacja nie ma pozwolenia na korzystanie z kamery.

Powiązane elementy interfejsu API

Szczegół zdarzenia

activity

Zdarzenie
Typ obiektu zdarzenia: flash.events.ActivityEvent
właściwość ActivityEvent.type = flash.events.ActivityEvent.ACTIVITY

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Dysponowana, gdy aparat rozpoczyna lub kończy sesję. Wywołanie metody Camera.setMotionLevel() pozwala określić intensywność ruchu wymaganą do wywołania zdarzenia activity z właściwością activating o wartości true lub czas bezczynności jaki musi upłynąć, zanim wywołane zostanie zdarzenie activity dla, której właściwość activating będzie miała wartość false.

Stała ActivityEvent.ACTIVITY definiuje wartość właściwości type obiektu zdarzenia activity.

To zdarzenie ma następujące właściwości:

WłaściwośćWartość
activatingtrue, jeśli urządzenie jest w stanie uaktywniania, albo false, jeśli jest w stanie dezaktywowania.
bubblesfalse
cancelablefalse; nie ma domyślnego zachowania, które można byłoby anulować.
currentTargetObiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń.
targetObiekt rozpoczynający sesję, na przykład Camera lub Microphone.
    

permissionStatus

Zdarzenie  
Typ obiektu zdarzenia: flash.events.PermissionEvent
właściwość PermissionEvent.type = flash.events.PermissionEvent.PERMISSION_STATUS

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 24.0

Rozsyłane, gdy aplikacja zażąda pozwolenia na użycie kamery urządzenia. Sprawdź wartość właściwości status, aby zobaczyć, czy pozwolenie zostało udzielone czy nie.

Powiązane elementy interfejsu API

status

Zdarzenie  
Typ obiektu zdarzenia: flash.events.StatusEvent
właściwość StatusEvent.type = flash.events.StatusEvent.STATUS

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 9, AIR (unsupported)

Wywoływane, gdy aparat zgłasza swój stan. Przed uzyskaniem dostępu do kamery środowisko wykonawcze wyświetla okno dialogowe, dzięki któremu użytkownik może uzyskać dostęp do zawartości kamery lub zrezygnować z używania kamery. Jeśli właściwość code ma wartość "Camera.muted", oznacza to, że użytkownik odmówił udzielenia dostępu do kamery dla pliku SWF. Jeśli właściwość code ma wartość "Camera.Unmuted", oznacza to, że użytkownik zezwolił plikowi SWF na dostęp do kamery.

Uwaga: To zdarzenie nie jest wywoływane na platformie AIR. Jest ono używane tylko w programie Flash Player.

Definiuje wartość właściwości type obiektu zdarzenia status.

To zdarzenie ma następujące właściwości:

WłaściwośćWartość
bubblesfalse
cancelablefalse; nie ma domyślnego zachowania, które można byłoby anulować.
codeOpis stanu obiektu.
currentTargetObiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń.
levelKategoria komunikatu, np. "status", "warning" lub "error".
targetObiekt informujący o swoim stanie.

Powiązane elementy interfejsu API

videoFrame

Zdarzenie  
Typ obiektu zdarzenia: flash.events.Event
właściwość Event.type = flash.events.Event.VIDEO_FRAME

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 11.4, AIR 3.4

Wywoływane bezpośrednio po przetworzeniu nowej klatki kamery przez kod podstawowy, gdy dane są dostępne do skopiowania.

Stała Event.VIDEO_FRAME definiuje wartość właściwości type obiektu zdarzenia videoFrame.

To zdarzenie ma następujące właściwości:

WłaściwośćWartość
bubblesfalse
cancelablefalse; nie ma domyślnego zachowania, które można byłoby anulować.
targetObiekt Camera, który wywołał to zdarzenie.

Powiązane elementy interfejsu API

CameraExample.as

Poniższy przykład pokazuje obraz z kamery po potwierdzeniu ostrzeżenia o zabezpieczeniu. Stół montażowy został ustawiony w sposób, który uniemożliwia jego skalowanie i jest wyrównany do lewego górnego rogu okna odtwarzacza. Zdarzenie activity jest wywoływane na początku i na końcu (jeśli istnieje) sesji i jest przechwytywane przez metodę activityHandler(), która wypisuje informacje o zdarzeniu.

Uwaga: Aby ten przykład zadziałał prawidłowo, należy podłączyć kamerę do komputera.

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 ]Dlaczego język angielski?
Treść dokumentacji języka ActionScript 3.0 wyświetlana w języku angielskim

Niektóre części dokumentacji języka ActionScript 3.0 nie są przetłumaczone na poszczególne języki. Gdy element nie jest przetłumaczony na dany język, jest wyświetlany tekst angielski. Na przykład opis klasy ga.controls.HelpBox nie jest przetłumaczony na żaden dodatkowy język. Z tego powodu polska wersja dokumentacji zawiera opis klasy ga.controls.HelpBox w języku angielskim.