Paket | flash.media |
Klass | public class StageVideo |
Arv | StageVideo EventDispatcher Object |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2.5, Flash Player 10.2 |
Stöd för AIR-profil: I AIR 3 har alla AIR for TV-enheter och vissa mobila enheter stöd för den här funktionen. I AIR 3 for iOS används objektet StageVideo för H.264-video med maskinvaruavkodning, med begränsat stöd för NetStream-funktionalitet. AIR 3 for iOS har även stöd för kodekarna On2 och Sorenson genom StageVideo-objektet. För detta stöd används ingen maskinvaruavkodning och det begränsar inte NetStream-funktionaliteten. I AIR 2.5 är det endast AIR for TV-enheter som har stöd för denna funktion. Dessutom skiljer sig ActionScript för AIR 2.5 for TV från ActionScript för AIR 3 och Flash Player 10.2. Skillnaderna är noterade i ActionScript-beskrivningarna. På sidan om stöd för AIR-profiler hittar du mer information om API-stöd för flera profiler. Klassen StageVideo stöds inte i profiler för AIR eller extendedDesktop.
Den videofilm som visas av StageVideo-objektet visas alltid i ett rektangulärt område på scenen, bakom alla Flash-visningslisteobjekt. StageVideo-objektet utnyttjar maskinvaruacceleration samtidigt som det har stöd för det vanligaste sättet att visa video: ett rektangulärt visningsområde med videokontroller.
Fördelarna med att använda ett StageVideo-objekt i stället för ett Video-objekt är:
- Bättre visningsprestanda för video tack vare maskinvaruacceleration.
- Minskad CPU-användning.
- Flexibilitet och kreativitet för utveckling av innehåll, som videokontroller, som visas framför StageVideo-objektet.
Eftersom enhetens maskinvara visar videofilmen har StageVideo-objektet följande begränsningar jämfört med ett Video-objekt:
- För varje SWF-fil begränsas i Flash Player antalet StageVideo-objekt som samtidigt kan visa video till fyra. Den faktiska gränsen kan emellertid vara lägre, beroende på enhetens maskinvaruresurser. På enheter med AIR for TV kan bara ett StageVideo-objekt i taget visa video.
- Videotimingen är inte synkroniserad med timingen av Flash-innehåll som visas i miljön.
- Visningsområdet för videofilmen kan bara vara en rektangel. Du kan inte använda mer avancerade visningsområden, som elliptiska eller oregelbundna former.
- Du kan inte rotera videofilmen.
- Du kan inte bitmappscachelagra videon eller få åtkomst till den med BitmapData.
- Du kan inte använda filter på videofilmen.
- Du kan inte använda färgomvandlingar på videofilmen.
- Du kan inte använda ett alfavärde på videofilmen.
- Blandningslägen som du använder på visningsobjekt som är placerade framför videofilmen gäller inte videofilmen.
- Du kan bara placera videofilmen på helpixelgränser.
- Återgivningen är den bästa möjliga för given enhetsmaskinvara, men den är inte pixelidentisk till 100 procent på olika enheter. Smärre variationer förekommer på grund av skillnader mellan drivrutiner och plattformar.
- Ett fåtal enheter har inte stöd för alla nödvändiga färgrymder. Vissa enheter har till exempel inte stöd för BT.709, H.264-standarden. I så fall kan du använda BT.601 för snabb visning.
- Du kan inte använda video på scen med WMODE-inställningar som
normal
,opaque
ellertransparent
. För video på scenen kan endastWMODE=direct
användas när helskärmsläge inte används. WMODE har ingen effekt i Safari 4 eller senare, IE 9 eller senare, eller i AIR for TV. - När StageVideo används i ett AIR for Android-program, ställer du i programdeskriptorn in
colorDepth
till 32bit. Användning av StageVideo med ett 16-bitars färgdjup stöds inte. - På Android stöds StageVideo bara på enheter med Android 3 (Honeycomb) eller senare. Om du vill att ditt program ska fungera på så många Android-enheter som möjligt implementerar du logik för att visa video med Video-objektet när StageVideo inte är tillgängligt.
Följande steg sammanfattar hur du använder ett StageVideo-objekt för att spela upp en videofilm:
- Lyssna efter händelsen StageVideoAvailabilityEvent.STAGE_VIDEO_AVAILABILITY om du vill veta när vektorn Stage.stageVideos har ändrats. (Stöds inte för AIR 2.5 for TV.)
- Om händelsen StageVideoAvailabilityEvent.STAGE_VIDEO_AVAILABILITY rapporterar att video på scenen är tillgänglig använder du vektorobjektet
Stage.stageVideos
i händelsehanteraren för att få åtkomst till ett StageVideo-objekt. I AIR 2.5 for TV öppnar duStage.stageVideos
sedan den första SWF-bildrutan har renderats. Obs! Du kan inte skapa ett StageVideo-objekt. - Koppla ett NetStream-objekt med hjälp av
StageVideo.attachNetStream()
. - Spela upp videofilmen med
NetStream.play()
. - Lyssna efter händelsen
StageVideoEvent.RENDER_STATE
på StageVideo-objektet om du vill fastställa statusen för den video som spelas upp. Ett kvitto på den här händelsen anger även att bredd- och höjdegenskaperna för den videon har initierats eller ändrats. - Lyssna efter händelsen
VideoEvent.RENDER_STATE
på Video-objektet. Den här händelsen tillhandahåller samma status som StageVideoEvent.RENDER_STATE, så du kan använda den om du vill fastställa om GPU-acceleration är tillgänglig. Ett kvitto på den här händelsen anger även att bredd- och höjdegenskaperna för den videon har initierats eller ändrats. (Stöds inte för AIR 2.5 for TV.)
Om en StageVideoEvent.RENDER_STATE
-händelse antyder att det inte går att spela upp videofilmen kan du återgå till att använda ett Video-objekt i stället för ett StageVideo-objekt. Den här händelsen skickas när videon har bifogats till ett NetStream-objekt och spelas upp. Beroende på plattformen kan ändringar i uppspelningsstatusen även ge upphov till att händelsen skickas. Hantera StageVideoEvent.RENDER_STATE
-händelsen för att garantera att programmet spelar upp videofilmen eller låter bli att spela upp den på ett praktiskt sätt.
Om en uppspelande video växlas till helskärmsläge från ett WMODE som inte har stöd för video på scenen, kan video på scenen bli tillgängligt. Om användaren avslutar helskärmsläget blir video på scen otillgängligt. I dessa fall ändras vektorn Stage.stageVideos. Om du vill få meddelande om den här ändringen ska du lyssna efter händelsen StageVideoAvailabilityEvent.STAGE_VIDEO_AVAILABITY. OBS! Det här meddelandet är inte tillgängligt i AIR 2.5 for TV.
Lär dig mer
Relaterade API-element
flash.events.StageVideoAvailabilityEvent
flash.events.VideoEvent
flash.display.Stage.stageVideos
flash.media.Video
flash.net.NetStream
Egenskap | Definieras med | ||
---|---|---|---|
colorSpaces : Vector.<String> [skrivskyddad]
Returnerar namnen på de färgrymder som är tillgängliga för den här videoytan. | StageVideo | ||
constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | ||
depth : int
Djupet för ett StageVideo-objekt i förhållande till andra StageVideo-objekt. | StageVideo | ||
pan : Point
Panoreringsinställningen för att visa videofilmen, angiven som ett Point-objekt. | StageVideo | ||
videoHeight : int [skrivskyddad]
Ett heltal som anger videoflödets höjd i pixlar. | StageVideo | ||
videoWidth : int [skrivskyddad]
Ett heltal som anger videoflödets bredd i pixlar. | StageVideo | ||
viewPort : Rectangle
Videoytans absoluta position och storlek i pixlar. | StageVideo | ||
zoom : Point
Videons zoomningsinställning, angiven som ett Point-objekt. | StageVideo |
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 | ||
Anger en videoström från en kamera som ska visas inom StageVideo-objektets gränser i programmet, och utnyttjar GPU:n för återgivning. | StageVideo | ||
Anger en videoström som ska visas inom StageVideo-objektets gränser i programmet. | StageVideo | ||
Skickar en händelse till händelseflödet. | EventDispatcher | ||
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 | ||
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | ||
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 | |||
[utsändningshändelse] Skickas när Flash Player eller AIR förlorar operativsystemfokus och blir inaktivt. | EventDispatcher | |||
Skickas av StageVideo-objektet när dess återgivningsstatus ändras. | StageVideo |
colorSpaces | egenskap |
colorSpaces:Vector.<String>
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2.5, Flash Player 10.2 |
Returnerar namnen på de färgrymder som är tillgängliga för den här videoytan. Oftast innehåller den här listan "BT.601" och "BT.709". I vissa konfigurationer stöds bara "BT.601", vilket betyder att videofilmen kanske inte återges med korrekt färgrymd.
Obs! På AIR for TV-enheter anger värdet "BT.601" programvaruuppspelning, och värdet "BT.709" anger maskinvaruuppspelning.
Implementering
public function get colorSpaces():Vector.<String>
depth | egenskap |
depth:int
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2.5, Flash Player 10.2 |
Djupet för ett StageVideo-objekt i förhållande till andra StageVideo-objekt.
StageVideo-objekt visas alltid bakom andra objekt på scenen. Om en plattform har stöd för fler än ett StageVideo-objekt anger egenskapen depth
djupet för ett StageVideo-objekt. Det understa StageVideo-objektets depth
-egenskap har det lägsta värdet. Om flera StageVideo-objekt har samma inställning för djup avgörs deras relativa djup av den ordning de visas i Vector-objektet stage.stageVideos
.
Obs! Enheter med AIR for TV har bara stöd för ett StageVideo-objekt. Den här egenskapen gäller därför inte de enheterna.
Implementering
public function get depth():int
public function set depth(value:int):void
Relaterade API-element
pan | egenskap |
pan:Point
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2.5, Flash Player 10.2 |
Panoreringsinställningen för att visa videofilmen, angiven som ett Point-objekt.
Värdet på pan
är som standard (0,0)
. Det här standardvärdet centrerar videon i den rektangel som anges av StageVideo.viewPort
.
Värdet pan
är bara betydelsefullt när egenskapen zoom
inte har standardvärdet (1.0, 1.0)
. När en video visas i StageVideo.viewPort
-rektangeln med standardvärdet för zoom
anpassar plattformen videon så att den passar precis i rektangeln. Därför syns hela videon. Om en zoomningsfaktor anges syns däremot inte hela videon. I så fall kan du ställa in värdet på pan
så att det anger vilken underrektangel av videon som ska visas StageVideo.viewPort
-rektangeln.
Giltiga värden för egenskapen pan
är från (-1.0, -1.0)
till (1.0, 1.0)
. Närmare bestämt:
-
Ett
pan
-värde på(-1.0, -1.0)
placerar videons övre, vänstra pixel i den övre, vänstra positionen iStageVideo.viewPort
-rektangeln. -
Ett
pan
-värde på(1.0, 1.0)
placerar videons nedre, högra pixel i den nedre, högra positionen iStageVideo.viewPort
-rektangeln. -
Ett
pan
-värde på(1.0, -1.0)
placerar videons övre, högra pixel i den övre, högra positionen iStageVideo.viewPort
-rektangeln. -
Ett
pan
-värde på(-1.0, 1.0)
placerar videons nedre, vänstra pixel i den nedre, vänstra positionen iStageVideo.viewPort
-rektangeln.
Värdet mellan -1.0 och 1.0 panorerar skalenligt.
Om du ger egenskapen pan
ett värde utanför det giltiga intervallet genereras ett RangeError
-fel. Miljön återställer värdet till det senaste giltiga värdet.
Du bör också tänka på att när du använder ett StageVideo-objekt tilldelar du ett element i Vector-objektet Stage.stageVideos
till en StageVideo-variabel. När du anger egenskapen pan
för StageVideo-variabeln ändras även det underliggande Vector-elementet Stage.stageVideos
. Om du senare tilldelar det elementet till en annan StageVideo-variabel för att spela upp en annan video återställer du egenskapen pan
.
Implementering
public function get pan():Point
public function set pan(value:Point):void
Utlöser
RangeError — Point-värdet är inte giltigt.
|
Relaterade API-element
videoHeight | egenskap |
videoHeight:int
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2.5, Flash Player 10.2 |
Ett heltal som anger videoflödets höjd i pixlar.
Du kan till exempel använda den här egenskapen för att se till att användaren ser videon med samma höjd som den spelades in med, oavsett storleken på StageVideo.viewPort
-rektangeln.
Implementering
public function get videoHeight():int
videoWidth | egenskap |
videoWidth:int
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2.5, Flash Player 10.2 |
Ett heltal som anger videoflödets bredd i pixlar.
Du kan till exempel använda den här egenskapen för att se till att användaren ser videon med samma bredd som den spelades in med, oavsett storleken på StageVideo.viewPort
-rektangeln.
Implementering
public function get videoWidth():int
viewPort | egenskap |
viewPort:Rectangle
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2.5, Flash Player 10.2 |
Videoytans absoluta position och storlek i pixlar.
Videons position är relativ till det övre vänstra hörnet av scenen.
Giltiga värden för egenskaperna x
och y
i Rectangle-objektet viewPort
är -8 192 till 8 191. Du kan därför placera videon helt eller delvis utanför scenen. Du kan också göra videon större än scenen om du ställer in egenskaperna width
och height
för viewPort
-egenskapen så att de är större än scenen.
Implementering
public function get viewPort():Rectangle
public function set viewPort(value:Rectangle):void
Utlöser
RangeError — Rectangle-värdet är inte giltigt.
|
zoom | egenskap |
zoom:Point
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2.5, Flash Player 10.2 |
Videons zoomningsinställning, angiven som ett Point-objekt.
Zoomningspunkten är en skalningsfaktor. Värdet på zoom
är som standard (1.0, 1.0)
. Det här standardvärdet visar hela videon i StageVideo.viewPort
-rektangeln.
Giltiga värden för egenskapen zoom
är från (1.0, 1.0)
till (8.0, 8.0)
. Egenskapen x
för Point-objektet zoom anger zoomningsvärdet för de vågräta pixlarna, och egenskapen y anger zoomningsvärdet för de lodräta pixlarna.
Ett zoom
-värde på (2.0, 2.0)
visar till exempel bara hälften av de vågräta pixlarna och hälften av de lodräta pixlarna i StageVideo.viewPort
-rektangeln. Videofilmen fyller fortfarande StageVideo.viewPort
-rektangeln, men endast halva videon är synlig, vilket skapar en 2x-zoomningseffekt. På samma sätt visar ett zoom
-värde på (8.0, 8.0)
bara 1/8 av de vågräta pixlarna och 1/8 av de lodräta pixlarna i StageVideo.viewPort
-rektangeln, vilket är den maximala zoomningsfaktorn (8x).
När du anger zoom
-egenskapen anger du egenskapen pan
så att StageVideo.viewPort
-rektangeln visar lämplig underrektangel av videofilmen.
I följande situation är det till exempel praktiskt att ange ett annat värde på egenskaperna x
och y
för Point-objektet zoom
. När en video visas i StageVideo.viewPort
-rektangeln med standardvärdet för zoom
anpassar plattformen videon så att den passar precis i rektangeln. Om videons rektangel inte skalas jämnt efter StageVideo.viewPort
-rektangeln kan videovisningen förvrängas. Videofilmens proportioner är alltså inte samma som proportionerna för StageVideo.viewPort
. Detta kan inträffa om videon till exempel inte är lika bred som den är hög och StageVideo.viewPort
-egenskapen anger en liksidig fyrkant. För att korrigera förvrängningen anger du olika värden för egenskaperna x
och y
för Point-objektet zoom
. Ange sedan egenskapen pan
för att försäkra dig om att StageVideo.viewPort
-rektangeln visar rätt underrektangel av videon.
Om du ställer in egenskapen zoom
på ett värde som ligger utanför det tillåtna intervallet genereras ett RangeError
-fel. Miljön återställer värdet till det senaste giltiga värdet.
Du bör också tänka på att när du använder ett StageVideo-objekt tilldelar du ett element i Vector-objektet Stage.stageVideos
till en StageVideo-variabel. När du anger zoom
-egenskapen för StageVideo-variabeln ändras även det underliggande Vector-elementet Stage.stageVideos
. Om du senare tilldelar det elementet till en annan StageVideo-variabel för att spela upp en annan video återställer du egenskapen zoom
.
Implementering
public function get zoom():Point
public function set zoom(value:Point):void
Utlöser
RangeError — Point-värdet är inte giltigt.
|
Relaterade API-element
attachCamera | () | metod |
public function attachCamera(theCamera:Camera):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 11.4, AIR 3.4 |
Anger en videoström från en kamera som ska visas inom StageVideo-objektets gränser i programmet, och utnyttjar GPU:n för återgivning.
Obs! StageVideo för kamera stöds inte på Android.
Använd den här metoden för att bifoga livevideo som spelas in av användaren i StageVideo-objektet. Om du vill avsluta anslutningen till StageVideo-objektet skickar du null
.
Parametrar
theCamera:Camera — Ett Camera-objekt som spelar in videodata.
|
Relaterade API-element
attachNetStream | () | metod |
public function attachNetStream(netStream:NetStream):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2.5, Flash Player 10.2 |
Anger en videoström som ska visas inom StageVideo-objektets gränser i programmet. Videoströmmen är antingen en videofil som spelas upp med NetStream.play() eller null
. En videofil kan lagras på det lokala filsystemet eller på Flash Media Server. Om värdet på argumentet netStream
är null
spelas videofilmen inte längre upp i StageVideo-objektet.
Innan attachNetStream()
anropas en andra gång bör du anropa det för tillfället kopplade NetStream-objektets close()
-metod. När close()
anropas frisläpps alla resurser, även maskinvarukodekar, som arbetar med att spela upp videofilmen. Du kan sedan anropa attachNetStream()
med antingen ett annat NetStream-objekt eller null
.
Du behöver inte använda den här metoden om videofilen bara innehåller ljud. Ljuddelen av en videofil spelas upp automatiskt när NetStream.play()
anropas. Om du vill styra ljudet som associeras med en videofil använder du egenskapen soundTransform
för det NetStream-objekt som spelar upp videofilen.
Parametrar
netStream:NetStream — Ett NetStream-objekt. Om du vill avsluta anslutningen till StageVideo-objektet skickar du null .
|
renderState | Händelse |
flash.events.StageVideoEvent
egenskap StageVideoEvent.type =
flash.events.StageVideoEvent.RENDER_STATE
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2.5, Flash Player 10.2 |
Skickas av StageVideo-objektet när dess återgivningsstatus ändras.
KonstantenStageVideoEvent.RENDER_STATE
definierar värdet på type
-egenskapen i ett renderState
-händelseobjekt.
Den här händelsen har följande egenskaper:
Egenskap | Värde |
---|---|
bubbles | false |
cancelable | false ; det finns inget standardbeteende att avbryta. |
colorSpace | De färgrymder som är tillgängliga för att visa videon. |
currentTarget | Det objekt som aktivt behandlar StageVideoEvent-objektet med en händelseavlyssnare. |
status | Anger om videon återges (avkodas och visas) av maskinvara eller programvara eller inte alls. |
target | Det StageVideo-objekt vars status har ändrats. |
Tue Jun 12 2018, 01:40 PM Z