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: Pobieranie danych z serwera...
Pobieranie danych z serwera...
flash.media 

CameraUI  - AS3

Pakietflash.media
Klasapublic class CameraUI
DziedziczenieCameraUI Inheritance EventDispatcher Inheritance Object

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

Klasa CameraUI umożliwia przechwytywanie obrazów nieruchomych lub wideo przy użyciu domyślnej aplikacji urządzenia do obsługi kamery.

Metoda launch() żąda, aby urządzenie otworzyło domyślną aplikację do obsługi kamery. Przechwycony obraz lub przechwycone wideo można pobrać z obiektu MediaEvent wywołanego dla zdarzenia „complete”. Domyślna aplikacja do obsługi kamery może zapisywać obrazy lub wideo w różnych formatach, dlatego nie ma gwarancji, że zwrócony obiekt multimedialny będzie można wczytać i wyświetlić w środowisku wykonawczym AIR.

Na niektórych platformach obiekt multimedialny zwrócony przez kamerę jest dostępny jako przyrzeczenie obiektu multimedialnego oparte na pliku. Na innych platformach przyrzeczenie obiektu multimedialnego nie jest oparte na pliku, a właściwości file i relativePath obiektu MediaPromise mają wartości null. Tych właściwości nie należy używać w kodzie stosowanym na więcej niż jednej platformie.

W systemie Android domyślna aplikacja kamery nie jest otwierana, jeśli nie jest dostępna zewnętrzna karta pamięci masowej (na przykład w przypadku, gdy użytkownik zamontuje kartę jako urządzenie pamięci masowej USB). Ponadto aplikacja AIR uruchamiająca kamerę przestaje być aktywna. Jeśli na urządzeniu jest mało zasobów, aplikacja AIR może zostać zamknięta przez system operacyjny przed ukończeniem przechwytywania multimediów.

Na niektórych platformach obiekt multimedialny jest automatycznie zachowywany w bibliotece multimediów urządzenia. Na platformach, na których domyślna aplikacja kamery nie zachowuje automatycznie obrazów i materiałów wideo, można zachować obiekt multimedialny za pomocą funkcji addBitmapData() obiektu CameraRoll.

Obsługa profilów AIR: Ta funkcja jest obsługiwana na urządzeniach przenośnych, ale nie jest obsługiwana w komputerowych systemach operacyjnych ani w środowisku AIR dla urządzeń telewizyjnych. W czasie wykonywania można sprawdzić, czy ta funkcja jest obsługiwana, odczytując właściwość CameraUI.isSupported. 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.

Wyświetl przykłady

Więcej informacji



Właściwości publiczne
 WłaściwośćZdefiniowane przez
 Inheritedconstructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu.
Object
      isSupported : Boolean
[statyczny] [tylko do odczytu] Informuje, czy na bieżącym urządzeniu jest obsługiwana klasa CameraUI.
CameraUI
      permissionStatus : String
[statyczny] [tylko do odczytu] Sprawdź, czy system otrzymał pozwolenie na dostęp do korzystania z kamery.
CameraUI
Metody publiczne
 MetodaZdefiniowane przez
  
    CameraUI()
Tworzy obiekt CameraUI.
CameraUI
 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
 Inherited
Wywołuje zdarzenie, tj. kieruje je do przepływu zdarzeń.
EventDispatcher
 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
  
    launch(requestedMediaType:String):void
Uruchamia domyślną aplikację kamery na urządzeniu.
CameraUI
 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 na dostęp do interfejsu użytkownika kamery.
CameraUI
 Inherited
Ustawia dostępność właściwości dynamicznej używanej w pętlach.
Object
 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
  
    cancel
Wywołanie zdarzenia „cancel” następuje, gdy użytkownik zamyka interfejs kamery, nie zapisując obrazu lub wideo.CameraUI
  
    complete
Wywołanie zdarzenia „complete” następuje, gdy użytkownik przechwytuje zdjęcie nieruchome lub wideo w interfejsie kamery.CameraUI
 Inherited[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja AIR traci fokus w systemie operacyjnym i przechodzi w stan nieaktywny.EventDispatcher
  
    error
Zdarzenie „error” jest wywoływane, gdy nie można otworzyć kamery domyślnej.CameraUI
  Rozsyłane, gdy aplikacja zażąda pozwolenia na dostęp do interfejsu użytkownika kamery.CameraUI
Szczegół właściwości
    

isSupported

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

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

Informuje, czy na bieżącym urządzeniu jest obsługiwana klasa CameraUI. Obecnie ta funkcja jest obsługiwana wyłącznie w aplikacjach AIR w systemie Android.



Implementacja
    public static function get isSupported():Boolean
    

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

Konstruktor Szczegół
    

CameraUI

()Konstruktor
public function CameraUI()

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

Tworzy obiekt CameraUI.

Szczegół metody

    launch

()metoda
public function launch(requestedMediaType:String):void

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

Uruchamia domyślną aplikację kamery na urządzeniu.

Korzystając z tej klasy, można przechwytywać obrazy nieruchome lub wideo. Podczas przechwytywania wideo na urządzeniu jest używany profil kamery „Quality Low” (Niska jakość).

Wywołanie metody launch() powoduje wywołanie domyślnej aplikacji kamery na urządzeniu. Aplikacja AIR przestaje być aktywną aplikacją i czeka, aż użytkownik przechwyci obraz nieruchomy lub zakończy przechwytywanie wideo. Gdy żądany element multimedialny zostanie przechwycony przez użytkownika, aplikacja AIR stanie się ponownie aktywna, a dany obiekt CameraUI wywoła zdarzenie complete. Jeśli użytkownik anuluje operację, obiekt CameraUI wywoła zamiast tego zdarzenie cancel.

Uwaga: W systemie operacyjnym Android może nastąpić zamknięcie aplikacji AIR, gdy nieaktywna będzie oczekiwać na przechwycenie obrazu lub wideo przez użytkownika. Jeśli tak się stanie, użytkownik będzie musiał ponownie uruchomić aplikację. Aplikacja AIR nie wywoła zdarzenia „media” dla poprzedniego przechwycenia obrazu.

Dostęp do przechwyconego pliku multimedialnego można uzyskać za pomocą właściwości data obiektu MediaEvent wywołanego dla zdarzenia complete. Ta właściwość jest wystąpieniem klasy MediaPromise, które można wczytać do aplikacji przy użyciu metody loadFilePromise() klasy Loader. Kamera urządzenia może zapisywać przechwytywane elementy multimedialne w różnych formatach. Materiały wideo powodują szczególne problemy w tym zakresie. Wyświetlenie przechwyconego elementu multimedialnego w środowisku AIR może nie być możliwe.

Parametry

requestedMediaType:String — Typ obiektu multimedialnego do przechwycenia. Poprawne wartości dla tego parametru są zdefiniowane w klasie MediaType:
  • MediaType.IMAGE
  • MediaType.VIDEO


Zdarzenia
complete:MediaEvent — Wywoływane w momencie przechwycenia obiektu multimedialnego.
 
cancel:Event — Wywoływane, gdy użytkownik wyłącza kamerę natywną, nie przechwytując obiektu multimedialnego.
 
error:ErrorEvent — Wywoływane, jeśli domyślna aplikacja kamery jest już używana.
 
error:ErrorEvent — Wywoływane, jeśli aplikacja AIR nie jest aktywna w chwili wywołania tej funkcji.

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

Powiązane elementy interfejsu API

    requestPermission

()metoda 
public function requestPermission():void

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

Wysyła żądanie pozwolenia na dostęp do interfejsu użytkownika kamery.


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

cancel

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

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

Wywołanie zdarzenia cancel następuje, gdy użytkownik zamyka interfejs kamery, nie zapisując obrazu lub wideo.

Stała Event.CANCEL definiuje wartość właściwości type obiektu zdarzenia cancel.

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ć.
currentTargetObiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń.
targetOdwołanie do obiektu, w którym operacja jest anulowana.
    

complete

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

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

Wywołanie zdarzenia complete następuje, gdy użytkownik przechwytuje zdjęcie nieruchome lub wideo w interfejsie kamery.

Stała dla zdarzenia MediaEvent complete.

Definiuje wartość właściwości type obiektu zdarzenia MediaEvent. 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ć.
currentTargetObiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń.
dataObiekt MediaPromise dostępnego wystąpienia elementu multimedialnego.
    

error

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

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

Zdarzenie error jest wywoływane, gdy nie można otworzyć kamery domyślnej.

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

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ć.
currentTargetObiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń.
targetObiekt, w którym wystąpiło niepowodzenie operacji sieciowej.
textTekst, który ma być wyświetlany w charakterze komunikatu o błędzie.
    

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 dostęp do interfejsu użytkownika kamery. Sprawdź wartość właściwości status, aby zobaczyć, czy pozwolenie zostało udzielone czy nie.

Powiązane elementy interfejsu API

CameraUIExample.Still.1.as

W następującym przykładzie użyto klasy CameraUI w celu uruchomienia domyślnej aplikacji kamery na urządzeniu. Gdy użytkownik zrobi zdjęcie, przykładowy kod umieści obraz na liście wyświetlania.
package  {
 import flash.desktop.NativeApplication;
 import flash.display.Loader;
 import flash.display.MovieClip;
 import flash.display.StageAlign;
 import flash.display.StageScaleMode;
 import flash.events.ErrorEvent;
 import flash.events.Event;
 import flash.events.IOErrorEvent;
 import flash.events.MediaEvent;
 import flash.media.CameraUI;
 import flash.media.MediaPromise;
 import flash.media.MediaType;
 
     public class CameraUIStillImage extends MovieClip{

          private var deviceCameraApp:CameraUI = new CameraUI();
          private var imageLoader:Loader; 
    
          public function CameraUIStillImage() {
               this.stage.align = StageAlign.TOP_LEFT;
               this.stage.scaleMode = StageScaleMode.NO_SCALE;
       
               if( CameraUI.isSupported )
               {
                trace( "Initializing camera..." );
    
                deviceCameraApp.addEventListener( MediaEvent.COMPLETE, imageCaptured );
                deviceCameraApp.addEventListener( Event.CANCEL, captureCanceled );
                deviceCameraApp.addEventListener( ErrorEvent.ERROR, cameraError );
                deviceCameraApp.launch( MediaType.IMAGE );
               }
               else
               {
                trace( "Camera interface is not supported.");
               }
          }
    
          private function imageCaptured( event:MediaEvent ):void
          {
               trace( "Media captured..." );
       
               var imagePromise:MediaPromise = event.data;
       
               if( imagePromise.isAsync )
               {
                trace( "Asynchronous media promise." );
                imageLoader = new Loader();
                imageLoader.contentLoaderInfo.addEventListener( Event.COMPLETE, asyncImageLoaded );
                imageLoader.addEventListener( IOErrorEvent.IO_ERROR, cameraError );
                
                imageLoader.loadFilePromise( imagePromise );
               }
               else
               {
                trace( "Synchronous media promise." );
                imageLoader.loadFilePromise( imagePromise );
                showMedia( imageLoader );
               }
          }
    
          private function captureCanceled( event:Event ):void
          {
               trace( "Media capture canceled." );
               NativeApplication.nativeApplication.exit();
          }
    
          private function asyncImageLoaded( event:Event ):void
          {
               trace( "Media loaded in memory." );
               showMedia( imageLoader );    
          }
    
          private function showMedia( loader:Loader ):void
          {
               this.addChild( loader );
          }
      
          private function cameraError( error:ErrorEvent ):void
          {
               trace( "Error:" + error.text );
               NativeApplication.nativeApplication.exit();
          }
     }
}




[ 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.