Справочник по ActionScript® 3.0 для платформы Adobe® Flash®
Домашняя страница  |  Скрыть список пакетов и классов |  Пакеты  |  Классы  |  Что нового  |  Указатель  |  Приложения  |  Почему по-английски?
Фильтры: Получение данных с сервера...
Получение данных с сервера...
flash.media 

CameraUI  - AS3

Пакетflash.media
Классpublic class CameraUI
НаследованиеCameraUI Inheritance EventDispatcher Inheritance Object

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 2.5

Класс CameraUI позволяет захватывать неподвижное изображение или видео с использованием стандартной программы камеры на устройстве.

Метод launch() отправляет запрос на открытие стандартной программы камеры на устройстве. Захваченное изображение или видео доступно в объекте MediaEvent, отправленном для события complete. Так как стандартная программа камеры позволяет сохранять изображение или видео в разнообразных форматах, нельзя гарантировать возможность загрузки и отображения возвращенного объекта мультимедиа в среде выполнения AIR.

На некоторых платформах объект мультимедиа, возвращенный камерой, доступен как предварительный образ мультимедиа в виде файла. На других устройствах предварительный образ мультимедиа не основан на файлах, и свойства file и relativePath объекта MediaPromise имеют значения null. Не используйте эти свойства в коде, который используется на нескольких платформах.

На платформе Android стандартная программа камеры не открывается, если внешняя карта для хранения данных недоступна (например, когда пользователь подключил карту как запоминающее устройство USB большой емкости). Кроме того, программа AIR, которая запускает камеру, теряет фокус. Если на устройстве недостаточно ресурсов, работа программы AIR может быть завершена операционной системой до завершения захвата мультимедийного содержимого.

На некоторых платформах объект мультимедиа автоматически сохраняется в библиотеке мультимедиа устройства. На платформах, где изображения и видеоролики не сохраняются автоматически стандартным приложением камеры, объекты мультимедиа можно сохранять с помощью функции CameraRoll addBitmapData ().

Поддержка в профилях AIR: эта функция поддерживается на мобильных устройствах, но не поддерживается в компьютерных операционных системах или на устройствах AIR for TV. Используйте свойство CameraUI.isSupported, чтобы проверить наличие поддержки в среде выполнения. Дополнительные сведения о поддержке API-интерфейса в разных профилях см. в разделе «Поддержка в профилях AIR».

Посмотреть примеры

Дополнительно



Общедоступные свойства
 СвойствоОпределено
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
      isSupported : Boolean
[статические] [только для чтения] Сообщает о поддержке класса CameraUI на текущем устройстве.
CameraUI
      permissionStatus : String
[статические] [только для чтения] Определяет, предоставлено или нет приложению разрешение на использование камеры.
CameraUI
Общедоступные методы
 МетодОпределено
  
    CameraUI()
Создает объект CameraUI.
CameraUI
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии.
EventDispatcher
 Inherited
Посылает событие в поток событий.
EventDispatcher
 Inherited
Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события.
EventDispatcher
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
  
    launch(requestedMediaType:String):void
Запускает стандартную программу камеры на устройстве.
CameraUI
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Удаляет прослушиватель из объекта EventDispatcher.
EventDispatcher
  
Запрашивает разрешение на доступ к пользовательскому интерфейсу камеры.
CameraUI
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
 Inherited
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником.
EventDispatcher
События
 Событие Сводка Определено
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR перемещается в фокус операционной системы и становится активным.EventDispatcher
  
    cancel
Событие cancel отправляется, когда пользователь закрывает пользовательский интерфейс камеры, не сохраняя изображение или видео.CameraUI
  
    complete
Событие complete отправляется после захвата пользователем изображения или видео в пользовательском интерфейсе камеры.CameraUI
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR теряет фокус системы и становится неактивным.EventDispatcher
  
    error
Событие error отправляется, если не удается открыть стандартную камеру.CameraUI
  Отправляется, когда приложение запрашивает разрешение на доступ к пользовательскому интерфейсу камеры.CameraUI
Сведения о свойстве
    

isSupported

свойство
isSupported:Boolean  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 2.5

Показывает наличие поддержки класса CameraUI на текущем устройстве. В настоящий момент эта функция поддерживается только в программах AIR на платформе Android.



Реализация
    public static function get isSupported():Boolean
    

permissionStatus

свойство 
permissionStatus:String  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 24.0

Определяет, предоставлено или нет приложению разрешение на использование камеры.



Реализация
    public static function get permissionStatus():String

Связанные элементы API

Сведения о конструкторе
    

CameraUI

()Конструктор
public function CameraUI()

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 2.5

Создает объект CameraUI.

Сведения о методе

    launch

()метод
public function launch(requestedMediaType:String):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 2.5

Запускает стандартную программу камеры на устройстве.

С помощью этого класса можно захватить неподвижные изображения или видео. При записи видео на устройстве используется профиль видеокамеры «Низкое качество».

При вызове метода launch() на устройстве открывается стандартная программа камеры. Программа AIR теряет фокус и ожидает, когда пользователь получит неподвижное изображение или завершит запись видео. Когда пользователь выполнит захват необходимого объекта мультимедиа, программа AIR снова получает фокус и этот объект CameraUI отправляет событие complete. Если пользователь отменяет операцию, этот объект CameraUI отправляет событие cancel.

Примечание. Программа AIR может быть закрыта операционной системой Android, если она работает в фоновом режиме и ожидает, когда пользователь завершит получение изображения или видео. В этом случае пользователь должен перезапустить программу. Программа AIR не отправляет событие media для предыдущего захвата изображения.

Доступ к захваченному мультимедийному файлу можно получить с использованием свойства data объекта MediaEvent, отправленного для события complete. Это свойство является экземпляром класса MediaPromise, который можно загрузить в программу с использованием метода loadFilePromise() класса Loader. Обратите внимание, что камера устройства поддерживает сохранение захваченного мультимедийного содержимого во множестве форматов. В этом отношении видео является более проблематичным. Отображение захваченного мультимедийного содержимого в программе AIR может быть невозможно.

Параметры

requestedMediaType:String — Тип захватываемого объекта мультимедиа. Действительные значения для этого параметра определены в классе MediaType:
  • MediaType.IMAGE
  • MediaType.VIDEO


События
complete:MediaEvent — Отправляется после захвата объекта мультимедиа.
 
cancel:Event — Отправляется, когда пользователь выходит из встроенной программы камеры, не захватив объект мультимедиа.
 
error:ErrorEvent — Отправляется, если стандартная программа камеры уже используется.
 
error:ErrorEvent — Отправляется, если программа AIR, работающая в фоновом режиме, вызывает эту функцию.

Выдает
PermissionError — Приложение не имеет разрешения на использование камеры.

Связанные элементы API

    requestPermission

()метод 
public function requestPermission():void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 24.0

Запрашивает разрешение на доступ к пользовательскому интерфейсу камеры.


События
PermissionStatus:PermissionEvent — отправляется, когда запрашиваемое разрешение предоставляется или не предоставляется пользователем.
Сведения о событии
    

cancel

Событие
Тип объекта события: flash.events.Event
свойство Event.type = flash.events.Event.CANCEL

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 2.5

Событие cancel отправляется, когда пользователь закрывает пользовательский интерфейс камеры, не сохраняя изображение или видео.

Константа Event.CANCEL определяет значение свойства type объекта события cancel.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
targetСсылка на объект, для которого отменена операция.
    

complete

Событие  
Тип объекта события: flash.events.MediaEvent
свойство MediaEvent.type = flash.events.MediaEvent.COMPLETE

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 2.5

Событие complete отправляется после захвата пользователем изображения или видео в пользовательском интерфейсе камеры.

Константа для события MediaEvent типа complete.

Задает значение свойства type объекта события MediaEvent. Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
dataОбъект MediaPromise доступного экземпляра мультимедиа.
    

error

Событие  
Тип объекта события: flash.events.ErrorEvent
свойство ErrorEvent.type = flash.events.ErrorEvent.ERROR

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 2.5

Событие error отправляется, если не удается открыть стандартную камеру.

Определяет значение свойства type объекта события error.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
targetОбъект, испытывающий сбой сетевой операции.
textТекст, отображаемый в качестве сообщения об ошибке.
    

permissionStatus

Событие  
Тип объекта события: flash.events.PermissionEvent
свойство PermissionEvent.type = flash.events.PermissionEvent.PERMISSION_STATUS

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 24.0

Отправляется, когда приложение запрашивает разрешение на доступ к пользовательскому интерфейсу камеры. Проверяет значение свойства status, чтобы определить, предоставлено разрешение или нет

Связанные элементы API

CameraUIExample.Still.1.as

В следующем примере класс CameraUI используется для запуска стандартной программы камеры на устройстве. Когда пользователь делает снимок, изображение добавляется в список отображения.
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 ]Почему по-английски?
Содержимое Справочника ActionScript 3.0 отображается на английском языке

Не все части Справочника ActionScript 3.0 переводятся на все языки. Если какой-то текстовый элемент не переведен, он отображается на английском языке. Например, компонент ga.controls.HelpBox не переведен ни на один из языков. Это значит, что в русской версии справки компонент ga.controls.HelpBox будет отображаться на английском языке.