Paket | flash.media |
Klass | public final class Camera |
Arv | Camera EventDispatcher Object |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
En Camera-instans hämtar video i liggande format. På enheter där skärmens orientering kan ändras, t.ex. mobiltelefoner, visar ett Video-objekt som är kopplat till kameran bara stående video i liggande orientering. Mobilappar bör därför bara använda liggande orientering vid visning av videofilmer, och de bör inte använda automatisk rotation.
På iOS speglas videon från den främre kameran. På Android fungerar det inte så.
På mobilenheter med en kamera med autofokus aktiveras autofokus automatiskt. Om det inte finns stöd i kameran för kontinuerligt autofokus, vilket gäller för många mobilkameror, kommer fokus att aktiveras när Camera-objektet kopplas till ett videoflöde och när metoden setMode()
anropas. På stationära datorer är autofokusbeteendet beroende på kamerans drivrutin och inställningar.
I ett AIR-program på Android och iOS spelar kameran inte in video om ett AIR-program inte är det aktiva förgrundsprogrammet. Dessutom kan direktuppspelningsanslutningar brytas när programmet körs i bakgrunden. På iOS kan kameravideon inte visas när ett program använder GPU-återgivningsläget. Kameravideon kan fortfarande direktspelas till en server.
Stöd för AIR-profiler: Den här funktionen stöds inte på enheter med AIR for TV. På sidan om stöd för AIR-profiler hittar du mer information om API-stöd för flera profiler. Tänk på att för enheter med AIR for TV är Camera.isSupported
true
, men Camera.getCamera()
returnerar alltid null
. Camera stöds inte i mobilwebbläsare.
Mer information om ljudinspelning finns i beskrivningen av klassen Microphone.
Viktigt: Under körning visas dialogrutan Sekretess där användaren kan välja om åtkomst till kameran ska tillåtas eller inte. Kontrollera att programfönstret är minst 215 x 138 pixlar. Detta är minimistorleken för att dialogrutan ska kunna visas.
Om du vill skapa ett Camera-objekt använder du getCamera()
-metoden.
Lär dig mer
Michael Chaize: Android, AIR, and the Camera (Android, AIR och kameror)
Relaterade API-element
Egenskap | Definieras med | ||
---|---|---|---|
activityLevel : Number [skrivskyddad]
Mängden rörelse kameran känner av. | Camera | ||
bandwidth : int [skrivskyddad]
Den maximala bandbredd (i byte) som den pågående utgående videomatningen kan använda. | Camera | ||
constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | ||
currentFPS : Number [skrivskyddad]
Den hastighet med vilken kameran spelar in data, i bildrutor per sekund. | Camera | ||
fps : Number [skrivskyddad]
Den maximala hastighet med vilken kameran kan spela in data, i bildrutor per sekund. | Camera | ||
height : int [skrivskyddad]
Aktuell inspelningshöjd i pixlar. | Camera | ||
index : int [skrivskyddad]
Ett nollbaserat indexvärde som anger placeringen av kameran i arrayen Camera.names, där alla tillgängiga kameror listas. | Camera | ||
isSupported : Boolean [statisk] [skrivskyddad]
Egenskapen isSupported är true om klassen Camera stöds på den aktuella plattformen, och i annat fall är värdet false. | Camera | ||
keyFrameInterval : int [skrivskyddad]
Hur många videobildrutor som överförs fullständigt (kallas nyckelbildrutor) i stället för att interpoleras av videokomprimeringsalgoritmen. | Camera | ||
loopback : Boolean [skrivskyddad]
Anger om en lokal visning av vad kameran spelar in komprimeras och dekomprimeras (true) på samma sätt som för en direktsändning med Flash Media Server, eller inte komprimeras (false). | Camera | ||
motionLevel : int [skrivskyddad]
Mängden rörelse som krävs för att aktivera activity-händelsen. | Camera | ||
motionTimeout : int [skrivskyddad]
Antalet millisekunder mellan den tidpunkt kameran slutar identifiera rörelse och den tidpunkt aktivitetshändelsen aktiveras. | Camera | ||
muted : Boolean [skrivskyddad]
Ett booleskt värde som anger om användaren har nekat åtkomst till kameran (true) eller tillåtit åtkomst (false) i dialogrutan Sekretess i Flash Player. | Camera | ||
name : String [skrivskyddad]
Den nuvarande kamerans namn enligt kameramaskinvaran. | Camera | ||
names : Array [statisk] [skrivskyddad]
En array med strängar som innehåller namnen på alla tillgängliga kameror. | Camera | ||
permissionStatus : String [statisk] [skrivskyddad]
Avgör om programmet har beviljats behörighet att använda kameran. | Camera | ||
position : String [skrivskyddad]
Anger på vilken sida av enheten som kameran är placerad. | Camera | ||
quality : int [skrivskyddad]
Den bildkvalitetsnivå som krävs, utifrån den komprimeringsmängd som används för varje bildruta. | Camera | ||
width : int [skrivskyddad]
Aktuell inspelningsbredd i pixlar. | Camera |
Metod | Definieras med | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registrerar ett händelseavlyssnarobjekt för ett EventDispatcher-objekt så att avlyssnaren får meddelanden om händelser. | EventDispatcher | ||
Fyller i en bytearray från ett rektangulärt område med pixeldata. Skriver ett heltal utan tecken (32 bitars omultiplicerat pixelvärde) för varje pixel i bytearrayen. | Camera | ||
Fyller en vektor från ett rektangulärt område med pixeldata. | Camera | ||
Skickar en händelse till händelseflödet. | EventDispatcher | ||
Kopierar den sista bildrutan till en bitmapp. | Camera | ||
[statisk]
Returnerar en referens till ett Camera-objekt för videoinspelning. | Camera | ||
Kontrollerar om EventDispatcher-objektet har några avlyssnare registrerade för en viss typ av händelse. | EventDispatcher | ||
Anger om det finns en egenskap angiven för ett objekt. | Object | ||
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter. | Object | ||
Anger om den angivna egenskapen finns och är uppräkningsbar. | Object | ||
Tar bort en avlyssnare från EventDispatcher-objektet. | EventDispatcher | ||
Begär kamerabehörighet för programmet. | Camera | ||
Anger vilka videobildrutor som överförs fullständigt (kallas nyckelbildrutor) i stället för att interpoleras av videokomprimeringsalgoritmen. | Camera | ||
Anger om ett komprimerat videoflöde ska användas för lokal visning av kameran. | Camera | ||
Ställer in kamerans inspelningsläge på det inbyggda läge som bäst passar de angivna kraven. | Camera | ||
Anger hur mycket rörelse som krävs för att skicka en aktivitetshändelse. | Camera | ||
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | ||
Ställer in maximal bandbredd per sekund eller den bildkvalitet som behövs för den pågående utgående videomatningen. | Camera | ||
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner. | Object | ||
Returnerar det angivna objektets strängbeteckning. | Object | ||
Returnerar det angivna objektets primitiva värde. | Object | ||
Kontrollerar om en händelseavlyssnare är registrerad för det här EventDispatcher-objektet eller något av dess överordnade objekt för den angivna händelsetypen. | EventDispatcher |
Händelse | Sammanfattning | Definieras med | ||
---|---|---|---|---|
[utsändningshändelse] Skickas när Flash Player eller AIR får operativsystemfokus och blir aktivt. | EventDispatcher | |||
Skickas när en kamera startar eller avslutar en session. | Camera | |||
[utsändningshändelse] Skickas när Flash Player eller AIR förlorar operativsystemfokus och blir inaktivt. | EventDispatcher | |||
Skickas när programmet begär behörighet att använda kameran på enheten. | Camera | |||
Skickas när en kameras status rapporteras. | Camera | |||
Skickas efter att en ny kamerabildruta har bearbetats av miljön och är tillgänglig för att kopieras. | Camera |
activityLevel | egenskap |
activityLevel:Number
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Mängden rörelse kameran känner av. Värdena ligger i intervallet 0 (ingen rörelse känns av) till 100 (mycket rörelse känns av). Med värdet för den här egenskapen an du bedöma om du ska skicka en inställningen till metoden setMotionLevel()
.
Om kameran är tillgänglig men inte används på grund av att metoden Video.attachCamera()
inte har anropats, ställs egenskapen in på -1.
Om du endast direktuppspelar okomprimerad, lokal video ställs egenskapen bara in om du har kopplat funktionen till händelsehanteraren. I annat fall är den odefinierad.
Implementering
public function get activityLevel():Number
Utlöser
PermissionError — Programmet har inte behörighet att använda kameran.
|
Relaterade API-element
bandwidth | egenskap |
bandwidth:int
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Den maximala bandbredd (i byte) som den pågående utgående videomatningen kan använda. Ett värde på 0 betyder att videomatningen kan använda så mycket bandbredd som krävs för att upprätthålla önskad kvalitet på bildrutenivå.
Om du vill ställa in den här egenskapen använder du setQuality()
-metoden.
Implementering
public function get bandwidth():int
Utlöser
PermissionError — Programmet har inte behörighet att använda kameran.
|
Relaterade API-element
currentFPS | egenskap |
currentFPS:Number
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Den hastighet med vilken kameran spelar in data, i bildrutor per sekund. Du kan inte ange den här egenskapen men du kan använda metoden setMode()
om du vill ställa in en relaterad egenskap, fps
, som anger maximal bildrutehastighet som du vill att kameran ska spela in med.
Implementering
public function get currentFPS():Number
Utlöser
PermissionError — Programmet har inte behörighet att använda kameran.
|
Relaterade API-element
fps | egenskap |
fps:Number
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Den maximala hastighet med vilken kameran kan spela in data, i bildrutor per sekund. Högsta möjliga hastighet beror på kamerans kapacitet. Den här bildrutehastigheten går kanske inte att uppnå.
- Om du vill ställa in önskat värde för egenskapen använder du metoden
setMode()
. - Om du vill bestämma den hastighet som kameran spelar in data med använder du egenskapen
currentFPS
.
Implementering
public function get fps():Number
Utlöser
PermissionError — Programmet har inte behörighet att använda kameran.
|
Relaterade API-element
height | egenskap |
height:int
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Aktuell inspelningshöjd i pixlar. Om du vill ställa in önskat värde för egenskapen använder du metoden setMode()
.
Implementering
public function get height():int
Utlöser
PermissionError — Programmet har inte behörighet att använda kameran.
|
Relaterade API-element
index | egenskap |
index:int
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Ett nollbaserat indexvärde som anger placeringen av kameran i arrayen Camera.names
, där alla tillgängiga kameror listas.
Implementering
public function get index():int
Utlöser
PermissionError — Programmet har inte behörighet att använda kameran.
|
Relaterade API-element
isSupported | egenskap |
keyFrameInterval | egenskap |
keyFrameInterval:int
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Hur många videobildrutor som överförs fullständigt (kallas nyckelbildrutor) i stället för att interpoleras av videokomprimeringsalgoritmen. Standardvärdet är 15, vilket betyder att var 15:e bildruta är en nyckelbildruta. Värdet 1 innebär att alla bildrutor är nyckelbildrutor. Tillåtna värden är 1 till 300.
Implementering
public function get keyFrameInterval():int
Utlöser
PermissionError — Programmet har inte behörighet att använda kameran.
|
Relaterade API-element
loopback | egenskap |
loopback:Boolean
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Anger om en lokal visning av vad kameran spelar in komprimeras och dekomprimeras (true
) på samma sätt som för en direktsändning med Flash Media Server, eller inte komprimeras (false
). Standardvärdet är false
.
Det kan vara bra att komprimera flödet i testsyfte, till exempel för att kunna se inställningarna för videokvalitet, men det kräver betydande processorkraft. Den lokala visningen komprimeras, redigeras för överföring som om den skulle sändas via en direktanslutning och dekomprimeras sedan för lokal visning.
Om du vill ställa in det här värdet använder du Camera.setLoopback()
. Om du vill ställa in den komprimeringsmängd som används när egenskapen är true använder du Camera.setQuality()
.
Implementering
public function get loopback():Boolean
Utlöser
PermissionError — Programmet har inte behörighet att använda kameran.
|
Relaterade API-element
motionLevel | egenskap |
motionLevel:int
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Mängden rörelse som krävs för att aktivera activity
-händelsen. Giltiga värden är från 0 till 100. Standardvärdet är 50.
Det går att visa video oavsett värdet på egenskapen motionLevel
. Mer information finns i setMotionLevel()
.
Implementering
public function get motionLevel():int
Utlöser
PermissionError — Programmet har inte behörighet att använda kameran.
|
Relaterade API-element
motionTimeout | egenskap |
motionTimeout:int
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Antalet millisekunder mellan den tidpunkt kameran slutar identifiera rörelse och den tidpunkt händelsen activity
aktiveras. Standardvärdet är 2000 (2 sekunder).
Om du vill ställa in det här värdet använder du setMotionLevel()
.
Implementering
public function get motionTimeout():int
Utlöser
PermissionError — Programmet har inte behörighet att använda kameran.
|
Relaterade API-element
muted | egenskap |
muted:Boolean
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Ett booleskt värde som anger om användaren har nekat åtkomst till kameran (true
) eller tillåtit åtkomst (false
) i dialogrutan Sekretess i Flash Player. Om det här värdet ändras skickas status
-händelsen iväg.
Implementering
public function get muted():Boolean
Utlöser
PermissionError — Programmet har inte behörighet att använda kameran.
|
Relaterade API-element
name | egenskap |
name:String
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Den nuvarande kamerans namn enligt kameramaskinvaran.
Implementering
public function get name():String
Utlöser
PermissionError — Programmet har inte behörighet att använda kameran.
|
Relaterade API-element
names | egenskap |
names:Array
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
En array med strängar som innehåller namnen på alla tillgängliga kameror. Vid åtkomst till denna array kommer dialogrutan Sekretess i Flash Player inte att visas. Arrayen tillhandahåller det nollbaserade indexvärdet för varje kamera och antalet kameror i systemet (med hjälp av names.length
).
Anrop av egenskapen names
kräver en omfattande undersökning av maskinvaran. I de flesta fall kan du använda standardkameran.
Implementering
public static function get names():Array
Utlöser
PermissionError — Programmet har inte behörighet att använda kameran.
|
Relaterade API-element
permissionStatus | egenskap |
position | egenskap |
position:String
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 3.0 |
Anger på vilken sida av enheten som kameran är placerad.
Använd egenskapen position
för att bestämma om en kamera på en mobil enhet finns på framsidan eller baksidan av enheten. Med följande funktion kontrolleras alla tillgängliga kameror tills en kamera med den önskade placeringen hittas. Om det inte finns någon kamera med den önskade placeringen kommer standardkameran att returneras.
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();
På mobila enheter är kameraplaceringen normalt antingen CameraPosition.FRONT
eller CameraPosition.BACK
. Om det inte går att bestämma kameraplaceringen kommer standardvärdet att vara CameraPosition.UNKNOWN
. På stationära datorer är placeringen alltid CameraPosition.UNKNOWN
.
Konstanter för giltiga värden i denna egenskap definieras i klassen CameraPosition.
Implementering
public function get position():String
Utlöser
PermissionError — Programmet har inte behörighet att använda kameran.
|
Relaterade API-element
quality | egenskap |
quality:int
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Den bildkvalitetsnivå som krävs, utifrån den komprimeringsmängd som används för varje bildruta. Tillåtna värden på quality ligger i intervallet 1 (lägsta kvalitet, maximal komprimering) till 100 (högsta kvalitet, ingen komprimering). Standardvärdet är 0, vilket innebär att bildkvaliteten kan variera efter behov för att undvika att tillgänglig bandbredd överskrids.
Om du vill ställa in den här egenskapen använder du setQuality()
-metoden.
Implementering
public function get quality():int
Utlöser
PermissionError — Programmet har inte behörighet att använda kameran.
|
Relaterade API-element
width | egenskap |
width:int
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Aktuell inspelningsbredd i pixlar. Om du vill ställa in önskat värde för egenskapen använder du metoden setMode()
.
Implementering
public function get width():int
Utlöser
PermissionError — Programmet har inte behörighet att använda kameran.
|
Relaterade API-element
copyToByteArray | () | metod |
public function copyToByteArray(rect:Rectangle, destination:ByteArray):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 11.4, AIR 3.4 |
Fyller en bytearray från ett rektangulärt område med pixeldata
Skriver ett heltal utan tecken (ett icke-multiplicerat 32-bitars pixelvärde) för varje pixel i bytearrayen. Arrayen ändras till det antal byte som krävs för att rymma alla pixlar.
Parametrar
rect:Rectangle — Ett rektangulärt område i det aktuella BitmapData-objektet.
| |
destination:ByteArray — En ByteArray som representerar pixlarna i den givna rektangeln.
|
Utlöser
PermissionError — Programmet har inte behörighet att använda kameran.
| |
TypeError — rect är null.
| |
TypeError — Destinationen är null
|
Relaterade API-element
copyToVector | () | metod |
public function copyToVector(rect:Rectangle, destination:Vector.<uint>):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 11.4, AIR 3.4 |
Fyller en vektor från ett rektangulärt område med pixeldata.
Skriver ett heltal utan tecken (ett icke-multiplicerat 32-bitars pixelvärde) för varje pixel i vektorn. Vektorn ändras till det antal byte som krävs för att rymma alla pixlar.
Parametrar
rect:Rectangle — Ett rektangulärt område i det aktuella BitmapData-objektet.
| |
destination:Vector.<uint> — En Vector.<uint> representerar pixlarna i den givna rektangeln.
|
Utlöser
PermissionError — Programmet har inte behörighet att använda kameran.
| |
TypeError — rect är null.
| |
TypeError — Destinationen är null
|
Relaterade API-element
drawToBitmapData | () | metod |
public function drawToBitmapData(destination:BitmapData):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 11.4, AIR 3.4 |
Kopierar den sista bildrutan till en bitmapp.
Den här metoden kopierar innehållet i den sista bildrutan till en BitmapData-instans.
Parametrar
destination:BitmapData — Ett BitmapData-instansobjekt som innehåller den sista bildrutan.
|
Utlöser
ArgumentError — kInvalidBitmapDataError om destination är för liten
|
Relaterade API-element
getCamera | () | metod |
public static function getCamera(name:String = null):Camera
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Returnerar en referens till ett Camera-objekt för videoinspelning. För att kunna börja spela in videon måste du koppla Camera-objektet till ett Video-objekt (se Video.attachCamera()
). Om du vill sända video till Flash Media Server anropar du NetStream.attachCamera()
för att koppla Camera-objektet till ett NetStream-objekt.
Flera anrop till metoden getCamera()
hänvisar till samma kameradrivrutin. Om koden innehåller kod som firstCam:Camera = getCamera()
och secondCam:Camera = getCamera()
, hänvisar både firstCam
och secondCam
till samma kamera, den kamera som är användarens standardkamera.
På mobila enheter med både en främre och bakre kamera kan du endast spela in video från en kamera i taget.
Normalt bör du inte överföra ett värde för name
-parametern. Du använder i stället getCamera()
för att returnera en referens till standardkameran. Via panelen med kamerainställningar (beskrivs senare i det här avsnittet) kan användaren ange vilken standardkamera som ska användas.
Du kan inte ange behörighetsinställningen för att tillåta eller neka användarens åtkomst till kameran med hjälp av ActionScript, men du kan visa dialogrutan för kamerainställning (Adobe Flash Player-inställningar) där användaren kan ange kamerabehörigheten. När en SWF-fil som använder metoden attachCamera()
försöker att koppla den kamera som returneras av metoden getCamera()
till ett Video- eller NetStream-objekt, visas en dialogruta där användaren kan välja att tillåta eller neka åtkomst till kameran. (Kontrollera att programfönstret är minst 215 x 138 pixlar. Detta är minimistorleken för att dialogrutan ska kunna visas i Flash Player.) När användaren gör en inställning i dialogrutan för kamerainställningar returneras ett informationsobjekt i status
-händelsen, som anger användarens svar: Camera.muted
anger att användaren har nekat en kamera åtkomst och Camera.Unmuted
anger att användaren har tillåtit en kamera åtkomst. Om du vill avgöra om användaren har tillåtit eller nekat åtkomst till kameran utan att hantera status
-händelsen kan du använda egenskapen muted
.
I Flash Player kan användaren ange permanenta sekretessinställningar för en viss domän genom att högerklicka (Windows och Linux) eller Control-klicka (Macintosh) samtidigt som en SWF-fil spelas upp och därefter välja Inställningar, öppna dialogrutan Sekretess och markera Kom ihåg. Om Kom ihåg markeras uppmanas användaren inte längre att tillåta eller inte tillåta att SWF-filer från den här domänen ska få åtkomst till din kamera.
Obs! Metoden attachCamera()
aktiverar inte dialogrutan för att tillåta eller neka åtkomst till kameran, om användaren har nekat åtkomst genom att markera Kom ihåg i dialogrutan Flash Player-inställningar. I det här fallet kan du uppmana användaren att ändra inställningen för att tillåta eller neka, genom att använda Security.showSettings(SecurityPanel.PRIVACY)
för att visa panelen Sekretess i Flash Player för användaren.
Om getCamera()
returnerar null
, används antingen kameran av ett annat program eller så finns det ingen kamera installerad. Om du vill avgöra om det finns en installerad kamera använder du egenskapen names.length
. Om du vill visa kamerainställningarna i Flash Player, där användaren kan välja vilken kamera som ska användas av getCamera()
, använder du Security.showSettings(SecurityPanel.CAMERA)
.
Att söka genom maskinvaran efter kameror tar tid. När minst en kamera har hittats sker ingen ytterligare genomsökning av maskinvaran under spelarinstansens livstid. Om inga kameror hittas söks maskinvaran emellertid igenom varje gång getCamera
anropas. Detta är praktiskt om det finns en kamera, men den är inaktiverad. Om det finns en Försök igen-knapp i SWF-filen som anropar getCamera
kan kameran hittas utan att användaren behöver starta om SWF-filen.
Parametrar
name:String (default = null ) — Anger vilken kamera som ska hämtas, vilket fastställs av arrayen som returneras av egenskapen names . I de flesta program hämtas standardkameran genom att denna parameter utelämnas. Om du vill ange ett värde för parametern använder du strängbeteckningen av den nollbaserade indexpositionen i Camera.names.array. Om du till exempel vill ange den tredje kameran i arrayen skriver du Camera.getCamera("2") .
|
Camera — Om name -parametern inte anges returnerar denna metod en referens till standardkamera eller, om den används av ett annat program, till den första tillgängliga kameran. (Om det finns fler än en kamera installerad kan användaren ange standardkamera på panelen för kamerainställningar i Flash Player.) Om det inte finns några tillgängliga kameror returnerar metoden null .
|
Händelser
status: — Skickas när en kameras status rapporteras. Innan Flash Player kontaktar en kamera visas dialogrutan Sekretess så att användaren kan tillåta eller neka tillgång till kameran. Om värdet för egenskapen code är "Camera.muted" tillåter användaren inte att SWF-filen får tillgång till användarens kamera. Om värdet för egenskapen code är "Camera.Unmuted" tillåter användaren att SWF-filen får åtkomst till användarens kamera.
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
Metoden Camera.getCamera()
returnerar en referens till ett camera-objekt, eller null om ingen kamera är tillgänglig eller installerad. If-satsen kontrollerar huruvida kameran hittades och huruvida användaren har tillåtit åtkomst till kameran. Om användaren har nekat åtkomst är egenskapen muted
angiven till true
.
När metoden attachCamera()
anropas visas oftast en dialogruta som uppmanar användaren att tillåta eller neka Flash Player åtkomst till kameran. Om användaren däremot har nekat åtkomst och markerat alternativet Remember
öppnas inte dialogrutan och inget visas. I textfältet myTextField
ges en instruktion till användaren om att klicka i textfältet för att aktivera dialogrutan Flash Player-inställningar, så att användaren ska få möjlighet att tillåta åtkomst till kameran.
Metoden clickHandler()
anropar metoden Security.showSettings()
som visar panelen PRIVACY
i dialogrutan Inställningar. Om användaren tillåter åtkomst skickas händelsen StatusEvent.STATUS
och värdet på egenskapen code
för händelsen anges till Camera.Unmuted
. (Dessutom anges egenskapen mute
för Camera-objektet till false
.)
Metoden statusHandler()
, som läggs till för att avlyssna statusändringen för användarens inställning, anropar metoden connectCamera()
, om användaren tillåter åtkomst. Metoden connectCamera()
skapar en instans av ett videoobjekt med den inspelade strömmens bredd och höjd. Kamerans inspelade video visas genom att referensen till videoflödet kopplas till video-objektet och video-objektet läggs till i visningslistan.
Dessutom startas ett Timer-objekt. Varje sekund skickas ett Timer-objekts timer-händelse och metoden timerHandler()
anropas. Metoden timerHandler()
visas och uppdaterar ett antal egenskaper för Camera-objektet.
Obs! I det här exemplet är egenskapen currentFPS
den enda egenskapen som ändras.
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 | () | metod |
public function requestPermission():void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 24.0 |
Begär kamerabehörighet för programmet.
Händelser
PermissionStatus: — skickas när begärd behörighet beviljas/nekas av användaren.
|
setKeyFrameInterval | () | metod |
public function setKeyFrameInterval(keyFrameInterval:int):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Anger vilka videobildrutor som överförs fullständigt (kallas keyframes) i stället för att interpoleras av videokomprimeringsalgoritmen. Den här metoden gäller endast om du överför video med Flash Media Server.
Videokomprimeringsalgoritmen i Flash komprimerar video genom att bara överföra det som har ändrats sedan förra bildrutan i videon. Dessa delar betraktas som interpolerade bildrutor. Bildrutor i en video kan vara interpolerade efter innehållet i den föregående bildrutan. En nyckelbildruta är dock en videobildruta som är komplett. Den är inte interpolerad från tidigare bildrutor.
Om du vill bestämma hur ett värde för parametern keyFrameInterval
ska ställas in måste du ta hänsyn till både bandbreddsanvändning och videouppspelningsåtkomst. Om du till exempel anger ett högre värde för keyFrameInterval
(inte skickar bildrutor lika ofta) minskar bandbreddsanvändningen. Det kan dock ta längre tid att placera spelhuvudet vid en viss punkt i videon. Ännu tidigare videobildrutor kan behöva interpoleras innan videon kan spelas upp igen.
Om du anger ett lägre värde för keyFrameInterval
(skickar bildrutor lite oftare) ökar bandbreddsanvändningen eftersom alla videobildrutor överförs oftare, men det kanske inte tar lika lång tid att söka efter en viss videobildruta i en inspelad video.
Parametrar
keyFrameInterval:int — Ett värde som anger vilka videobildrutor som överförs fullständigt (som nyckelbildrutor) i stället för att interpoleras av videokomprimeringsalgoritmen. Ett värde på 1 betyder att varje bildruta är en nyckelbildruta, ett värde på 3 betyder att var tredje bildruta är en nyckelbildruta och så vidare. Tillåtna värden är 1 till 48.
|
Utlöser
PermissionError — Programmet har inte behörighet att använda kameran.
|
Relaterade API-element
setLoopback | () | metod |
public function setLoopback(compress:Boolean = false):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Anger om ett komprimerat videoflöde ska användas för lokal visning av kameran. Den här metoden gäller endast om du överför video med Flash Media Server. Om du ställer in compress
på true
kan du se mer exakt hur videon kommer att visas för användare när de visar den i realtid.
Även om ett komprimerat flöde är användbart i testsyfte, som t.ex. vid förhandsgranskning av videokvalitetsinställningar, kostar det mycket eftersom den lokala visningen inte bara komprimeras. Den komprimeras, redigeras för överföring över en liveanslutning, och sedan dekomprimeras den för lokal visning.
Om du vill ange den komprimeringsmängd som används när du ställer in compress
på true
använder du Camera.setQuality()
.
Parametrar
compress:Boolean (default = false ) — Anger om ett komprimerat videoflöde ska användas (true ) eller om ett okomprimerat videoflöde ska användas (false ) för en lokal visning av vad kameran tar emot.
|
Utlöser
PermissionError — Programmet har inte behörighet att använda kameran.
|
Relaterade API-element
setMode | () | metod |
public function setMode(width:int, height:int, fps:Number, favorArea:Boolean = true):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Ställer in kamerans inspelningsläge på det inbyggda läge som bäst passar de angivna kraven. Om kameran inte har ett inbyggt läge som matchar alla parametrar som du skickar, väljs ett inspelningsläge som mest liknar det begärda. Denna ändring kan medföra att bilden beskärs och bildrutor utesluts.
Standard är att bildrutor utesluts under körning om det behövs för att upprätthålla bildstorleken. Om du vill minimera antalet uteslutna bildrutor, även om det innebär att bildstorleken blir mindre, skickar du false
för favorArea
-parametern.
När du väljer ett inbyggt läge görs försök att upprätthålla det begärda bildformatet så långt det är möjligt. Anta att du skickar kommandot myCam.setMode(400, 400, 30)
och att de maximala bredd- och höjdvärdena som är tillgängliga för kameran är 320 och 288, då kommer både bredd och höjd att ställas in på 288. Genom att ge dessa egenskaper samma värde upprätthålls bildförhållandet 1:1 så som du begärde.
Om du vill bestämma vilka värden som är kopplade till egenskaperna efter att det läge som bäst passar de begärda värdena har valts, använder du egenskaperna width
, height
och fps
.
Om du använder Flash Media Server kan du också spela in enstaka bildrutor eller skapa fotografering i tidsintervaller. Mer information finns i NetStream.attachCamera()
.
Parametrar
width:int — Begärd inspelningsbredd i pixlar. Standardvärdet är 160.
| |
height:int — Begärd inspelningshöjd i pixlar. Standardvärdet är 120.
| |
fps:Number — Den begärda hastighet med vilken kameran ska spela in data, i bildrutor per sekund. Standardvärdet är 15.
| |
favorArea:Boolean (default = true ) — Anger hur bredden, höjden och bildrutehastigheten ska ändras om kameran inte har ett inbyggt läge som uppfyller de angivna kraven. Standardvärdet är true , vilket betyder att inspelningsstorlek prioriteras. Om du använder den här parametern väljs det läge som mest liknar värdena för width och height , även om detta kan påverka prestandan genom att bildrutehastigheten minskas. Om du vill prioritera bildrutehastigheten framför kamerahöjd och -bredd skickar du false för favorArea -parametern.
|
Utlöser
PermissionError — Programmet har inte behörighet att använda kameran.
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
Scenen har angetts till att inte skalas om. Metoden Camera.getCamera()
returnerar en referens till ett camera-objekt, eller null om ingen kamera är tillgänglig eller installerad. Om det finns en kamera anropas metoden connectCamera()
. Metoden connectCamera()
skapar en instans av ett videoobjekt. Kamerans inspelade video visas genom att referensen till videoflödet kopplas till video-objektet och video-objektet läggs till i visningslistan. Dessutom anges en händelseavlyssnare för en MouseEvent.CLICK
-händelse. När användaren har klickat på scenen anropas metoden clickHandler()
. Metoden kontrollerar bredden på inspelad video och anger bredd, höjd och frekvensen i bildrutor per sekund för kamerans inspelningsläge. Om de här inställningarna ska få effekt måste video-objektet tas bort och skapas på nytt. Videoklippets bredd och höjd måste också anges till camera-objektets bredd och höjd.
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 | () | metod |
public function setMotionLevel(motionLevel:int, timeout:int = 2000):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Anger hur mycket rörelse som krävs för att skicka en activity
-händelse. Du kan ange hur många tusendels sekunder som ska gå utan aktivitet innan det bedöms som att rörelsen avstannat och händelsen skickas.
Obs! Det går att visa video oavsett värdet på parametern motionLevel
. Parametern avgör endast när och under vilka omständigheter händelsen skickas, inte om video faktiskt spelas in eller visas.
Om du vill att kameran inte ska känna av rörelse alls skickar du värdet 100 för parametern motionLevel
. Då skickas aldrig activity
-händelsen. (Du vill antagligen bara använda det här värdet i testsyfte, om du till exempel tillfälligt inaktiverar alla hanterare som normalt skulle utlösas när händelsen skickas.)
Om du vill ange den rörelsemängd som kameran känner av för tillfället använder du egenskapen activityLevel
. Rörelsekänslighetsvärden motsvarar direkt aktivitetsvärden. Ingen rörelse motsvarar aktivitetsvärdet 0. Konstant rörelse motsvarar aktivitetsvärdet 100. Aktivitetsvärdet är lägre än rörelsekänslighetens värde när du inte flyttar på dig. Om du flyttar på dig överskrider aktivitetsvärdena ofta ditt rörelsekänslighetsvärde.
Den här metoden liknar metoden Microphone.setSilenceLevel()
. Båda metoderna används för att ange när activity
-händelsen ska skickas. Metoderna påverkar dock publiceringsflöden på helt olika sätt:
Microphone.setSilenceLevel()
är utformad för att optimera bandbredd. När ett ljudflöde anses tyst, skickas inga ljuddata. I stället skickas ett enda meddelande som indikerar att tystnad har påbörjats.Camera.setMotionLevel()
är utformat för att känna av rörelse och påverkar inte bandbreddsanvändning. Även om ett videoflöde inte känner av rörelse skickas fortfarande video.
Parametrar
motionLevel:int — Anger mängden rörelse som krävs för att skicka activity -händelsen. Giltiga värden är från 0 till 100. Standardvärdet är 50.
| |
timeout:int (default = 2000 ) — Anger hur många millisekunder som måste gå utan aktivitet innan det bedöms som att aktiviteten har avstannat och activity -händelsen skickas. Standardvärdet är 2000 millisekunder (2 sekunder).
|
Utlöser
PermissionError — Programmet har inte behörighet att använda kameran.
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
Metoden Camera.getCamera()
returnerar en referens till ett camera-objekt, eller null om ingen kamera är tillgänglig eller installerad. If-satsen kontrollerar huruvida en kamera är tillgänglig och anropar metoden connectCamera()
när den är det. Metoden connectCamera()
skapar en instans av ett videoobjekt med den inspelade strömmens bredd och höjd. Kamerans inspelade video visas genom att referensen till videoflödet kopplas till video-objektet och video-objektet läggs till i visningslistan. (När metoden attachCamera()
anropas visas oftast en dialogruta som uppmanar användaren att tillåta eller neka Flash Player åtkomst till kameran. Om användaren däremot har nekat åtkomst och markerat alternativet Kom ihåg
öppnas inte dialogrutan och inget visas. Se till att användaren får möjlighet att tillåta åtkomst till kameran genom att använda metoden system.Security.showSettings()
för att aktivera dialogrutan Flash Player-inställningar.)
Metoden setMotionLevel()
anger aktivitetsnivå (mängden rörelse) innan aktivitetshändelsen skickas. Fem anger minsta rörelse. Tiden mellan att kameran slutar registrera rörelse och att aktivitetshändelsen skickas anges till 1 sekund (1000 millisekunder). Efter 1 sekund utan aktivitet eller när aktivitetsnivån når fem, skickas ActivityEvent.ACTIVITY
-händelsen och metoden activityHandler()
anropas. Om händelsen utlöstes av aktivitetsnivån anges egenskapen activating
till true
och ett Timer-objekt startas. Varje sekund skickas ett Timer-objekts timer-händelse och metoden timerHandler()
anropas, vilket visar den aktuella aktivitetsnivån. (Även om en nivå på fem eller högre utlöser timern, kan den aktuella aktivitetsnivå som visas vara lägre.)
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 | () | metod |
public function setQuality(bandwidth:int, quality:int):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Ställer in maximal bandbredd per sekund eller den bildkvalitet som behövs för den pågående utgående videomatningen. Den här metoden gäller endast om du överför video med Flash Media Server.
Använd metoden om du vill ange vilka element i den utgående videomatningen som är viktigast för programmet; bandbreddsanvändning eller bildkvalitet.
- Om du vill indikera att bandbreddsanvändning prioriteras skickar du värdet för
bandwidth
och 0 förquality
. Under körningen överförs videon med högsta möjliga kvalitet inom den angivna bandbredden. Vid behov sänks bildkvaliteten för att undvika att den angivna bandbredden överskrids. Normalt minskar kvaliteten när rörelsen ökar. - Om du vill ange att kvalitet ska prioriteras skickar du 0 för
bandwidth
och ett numeriskt värde förquality
. Under körningen används så mycket bandbredd som krävs för att den angivna kvaliteten ska kunna upprätthållas. Vid behov sänks bildrutehastigheten för att bildkvaliteten ska upprätthållas. Normalt ökar bandbredden när rörelsen ökar. - Om du vill ange att både bandbredd och kvalitet är lika viktiga skickar du numeriska värden till båda parametrarna. Under körningen överförs video i den angivna kvaliteten men utan att den angivna bandbredden överskrids. Vid behov sänks bildrutehastigheten för att bildkvaliteten ska kunna upprätthållas utan att den angivna bandbredden överskrids.
Parametrar
bandwidth:int — Anger den maximala bandbredd som den pågående utgående videomatningen kan använda, i byte per sekund. Om du vill ange att videon kan använda så mycket bandbredd som krävs för att upprätthålla värdet på quality , skickar du 0 för bandwidth . Standardvärdet är 16384.
| |
quality:int — Ett heltal som anger vilken bildkvalitetsnivå som krävs, utifrån den komprimeringsmängd som används för varje bildruta. Tillåtna värden ligger i intervallet 1 (lägsta kvalitet, maximal komprimering) till 100 (högsta kvalitet, ingen komprimering). Om du vill ange att bildkvaliteten kan variera efter behov för att undvika att den tillgängliga bandbredden överskrids, skickar du 0 för quality .
|
Utlöser
PermissionError — Programmet har inte behörighet att använda kameran.
|
Relaterade API-element
activity | Händelse |
flash.events.ActivityEvent
egenskap ActivityEvent.type =
flash.events.ActivityEvent.ACTIVITY
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Skickas när en kamera startar eller avslutar en session. Anropa Camera.setMotionLevel()
för att ange hur mycket rörelse som krävs för att aktivera en activity
-händelse med activating
-värdet true
, eller hur lång tid som ska gå utan aktivitet för att aktivera en activity
-händelse med activating
-värdet false
.
ActivityEvent.ACTIVITY
definierar värdet för ett activity
-händelseobjekts type
-egenskap.
Den här händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
aktiverar | true om enheten aktiveras eller false om den inaktiveras. |
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
currentTarget | Det objekt som aktivt behandlar Event-objektet med en händelseavlyssnare. |
target | Det objekt som påbörjar eller avslutar en session, t.ex. Camera- eller Microphone-objekt. |
permissionStatus | Händelse |
flash.events.PermissionEvent
egenskap PermissionEvent.type =
flash.events.PermissionEvent.PERMISSION_STATUS
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 24.0 |
Skickas när programmet begär behörighet att använda kameran på enheten. Kontrollera värdet för egenskapen status
för att avgöra om behörighet beviljades eller nekades
Relaterade API-element
status | Händelse |
flash.events.StatusEvent
egenskap StatusEvent.type =
flash.events.StatusEvent.STATUS
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9, AIR (unsupported) |
Skickas när en kameras status rapporteras. Innan en kamera används visas dialogrutan Sekretess så att användaren kan tillåta eller neka tillgång till kameran. Om värdet för egenskapen code
är "Camera.muted"
tillåter användaren inte att SWF-filen får tillgång till användarens kamera. Om värdet för egenskapen code
är "Camera.Unmuted"
tillåter användaren att SWF-filen får åtkomst till användarens kamera.
Obs! Den här händelsen skickas inte på AIR-plattformen. Den används endast i Flash Player.
Definierar värdet för ettstatus
-händelseobjekts type
-egenskap.
Den här händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
kod | En beskrivning av objektets status. |
currentTarget | Det objekt som aktivt behandlar Event-objektet med en händelseavlyssnare. |
nivå | Meddelandets kategori, till exempel "status" , "warning" eller "error" . |
target | Objektet rapporterar status. |
Relaterade API-element
videoFrame | Händelse |
flash.events.Event
egenskap Event.type =
flash.events.Event.VIDEO_FRAME
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 11.4, AIR 3.4 |
Skickas efter att en ny kamerabildruta har bearbetats av miljön och är tillgänglig för att kopieras.
KonstantenEvent.VIDEO_FRAME
definierar värdet på type
-egenskapen i ett videoFrame
-händelseobjekt.
Den här händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
target | Det Camera-objekt som skickade den här händelsen. |
Relaterade API-element
activity
skickas i början och slutet (om det finns något) på sessionen och hämtas av metoden activityHandler()
, som skriver ut information om händelsen.
Obs! En kamera måste vara ansluten till datorn för att det här ska fungera.
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); } } }
Tue Jun 12 2018, 01:40 PM Z