Pakiet | flash.media |
Klasa | public class CameraUI |
Dziedziczenie | CameraUI EventDispatcher Object |
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2.5 |
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.
Więcej informacji
Właściwość | Zdefiniowane przez | ||
---|---|---|---|
constructor : 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 |
Metoda | Zdefiniowane przez | ||
---|---|---|---|
CameraUI()
Tworzy obiekt CameraUI. | CameraUI | ||
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 | ||
Wywołuje zdarzenie, tj. kieruje je do przepływu zdarzeń. | EventDispatcher | ||
Sprawdza, czy obiekt EventDispatcher zawiera jakiekolwiek detektory zarejestrowane dla konkretnego typu zdarzeń. | EventDispatcher | ||
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość. | Object | ||
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr. | Object | ||
Uruchamia domyślną aplikację kamery na urządzeniu. | CameraUI | ||
Wskazuje, czy określona właściwość istnieje i jest przeliczalna. | Object | ||
Usuwa detektor z obiektu EventDispatcher. | EventDispatcher | ||
Wysyła żądanie pozwolenia na dostęp do interfejsu użytkownika kamery. | CameraUI | ||
Ustawia dostępność właściwości dynamicznej używanej w pętlach. | Object | ||
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych. | Object | ||
Zwraca ciąg reprezentujący określony obiekt. | Object | ||
Zwraca pierwotną wartość dla określonego obiektu. | Object | ||
Sprawdza, czy detektor zdarzeń określonego typu jest zarejestrowany w tym obiekcie EventDispatcher lub jego elementach macierzystych. | EventDispatcher |
Zdarzenie | Podsumowanie | Zdefiniowane przez | ||
---|---|---|---|---|
[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łanie zdarzenia „cancel” następuje, gdy użytkownik zamyka interfejs kamery, nie zapisując obrazu lub wideo. | CameraUI | |||
Wywołanie zdarzenia „complete” następuje, gdy użytkownik przechwytuje zdjęcie nieruchome lub wideo w interfejsie kamery. | CameraUI | |||
[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja AIR traci fokus w systemie operacyjnym i przechodzi w stan nieaktywny. | EventDispatcher | |||
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 |
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ść |
CameraUI | () | Konstruktor |
public function CameraUI()
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2.5 |
Tworzy obiekt CameraUI.
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:
|
Zdarzenia
complete: — Wywoływane w momencie przechwycenia obiektu multimedialnego.
| |
cancel: — Wywoływane, gdy użytkownik wyłącza kamerę natywną, nie przechwytując obiektu multimedialnego.
| |
error: — Wywoływane, jeśli domyślna aplikacja kamery jest już używana.
| |
error: — 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: — Rozsyłane, gdy użytkownik udzieli / nie udzieli zażądanego pozwolenia.
|
cancel | Zdarzenie |
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.
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ść |
---|---|
bubbles | false |
cancelable | false ; nie ma domyślnego zachowania, które można byłoby anulować. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
target | Odwołanie do obiektu, w którym operacja jest anulowana. |
complete | Zdarzenie |
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.
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ść |
---|---|
bubbles | false |
cancelable | false ; nie ma domyślnego zachowania, które można byłoby anulować. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
data | Obiekt MediaPromise dostępnego wystąpienia elementu multimedialnego. |
error | Zdarzenie |
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.
type
obiektu zdarzenia error
.
To zdarzenie ma następujące właściwości:
Właściwość | Wartość |
---|---|
bubbles | false |
cancelable | false ; nie ma domyślnego zachowania, które można byłoby anulować. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
target | Obiekt, w którym wystąpiło niepowodzenie operacji sieciowej. |
text | Tekst, który ma być wyświetlany w charakterze komunikatu o błędzie. |
permissionStatus | Zdarzenie |
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
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(); } } }
Tue Jun 12 2018, 12:06 PM Z