Главная / Action Script 3
Пакетflash.media
Классpublic class Video
НаследованиеVideo Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object
Подклассы VideoPlayer

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

Класс Video отображает эфирное или записанное видео в приложении, не внедряя видео в SWF-файл. Этот класс создает в интерфейсе Adobe Flash или Adobe Flex объект Video, который воспроизводит следующие типы видео: записанные FLV-файлы, сохраненные на сервере или на жестком диске, или эфирное видео, передаваемое с компьютера пользователя. Объект Video — это экранный объект в списке отображения приложения, который представляет визуальное пространство пользовательского интерфейса, в котором воспроизводится видео.

При использовании сервера Flash Media Server объект Video позволяет передавать эфирное видео с компьютера пользователя на сервер и транслировать его с сервера другим пользователям. С помощью этих функций можно разрабатывать мультимедийные приложения, такие как простой видеопроигрыватель, видеопроигрыватель с несколькими точками публикации с одного сервера на другой или приложение для обмена видеосодержимым для сообщества пользователей

Flash Player 9 поддерживает публикацию и воспроизведение FLV-файлов, закодированных с помощью кодека Sorenson Spark или On2 VP6, а также поддерживает альфа-канал. Видеокодек On2 VP6 использует меньшей пропускной способности, чем более старые технологии, и предоставляет дополнительные фильтры подавления блочноcти и реверберации. Дополнительные сведения о воспроизведении виде см. в описании класса flash.net.NetStream.

Flash Player 9.0.115.0 и более поздние версии поддерживают мип-наложение для оптимизации качества и производительности визуализации во время выполнения. Для воспроизведения видео проигрыватель Flash Player использует оптимизацию мип-наложения, если свойству smoothing объекта Video задано значение true.

Как и с другими экранными объектами в списке отображения, можно управлять различными свойствами объектов Video. Например, можно перемещать объект Video в рабочей области, используя свойства x и y, можно изменять размер с помощью свойств height и width и т.д.

Для потокового воспроизведения видео нужно использовать метод attachCamera() или attachNetStream(), чтобы прикрепить видео к объекту Video. После этого нужно добавить объект Video в список отображения с помощью метода addChild().

Примечание. Класс Video не является подклассом класса InteractiveObject, поэтому он не может отправлять события мыши. Однако можно использовать метод addEventListener() контейнера экранного объекта, содержащего объект Video.

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

См. также

attachCamera()
attachNetStream()
flash.media.Camera.getCamera()
flash.net.NetConnection
flash.net.NetStream
flash.display.DisplayObjectContainer.addChild()
flash.display.Stage.addChild()
Основные классы показа
Выполнение множественного отображения
Основы видео
Введение в работу с видео


Общедоступные свойства
 СвойствоОпределено
 InheritedaccessibilityProperties : AccessibilityProperties
Текущие параметры специальных возможностей для данного экранного объекта.
DisplayObject
 Inheritedalpha : Number
Указывает значение альфа-прозрачности заданного объекта.
DisplayObject
 InheritedblendMode : String
Значение класса BlendMode, задающее режим наложения.
DisplayObject
 InheritedblendShader : Shader
[только для записи] Задает затенение, используемое при наложении переднего плана на фон.
DisplayObject
 InheritedcacheAsBitmap : Boolean
При значении true проигрыватель Flash Player кэширует внутреннее растровое представление экранного объекта.
DisplayObject
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
  deblocking : int
Указывает тип фильтра, применяемого к дешифрованному видео в ходе последующей обработки.
Video
 Inheritedfilters : Array
Индексированный массив, который содержит все объекты filter, связанные в настоящий момент с экранным объектом.
DisplayObject
 Inheritedheight : Number
Указывает высоту экранного объекта в пикселах.
DisplayObject
 InheritedloaderInfo : LoaderInfo
[только для чтения] Возвращает объект LoaderInfo, содержащий сведения о загрузке файла, к которому принадлежит этот экранный объект.
DisplayObject
 Inheritedmask : DisplayObject
Вызывающий экранный объект маскируется заданным объектом mask.
DisplayObject
 InheritedmouseX : Number
[только для чтения] Указывает координату x положения курсора мыши (в пикселах).
DisplayObject
 InheritedmouseY : Number
[только для чтения] Указывает координату y положения курсора мыши (в пикселах).
DisplayObject
 Inheritedname : String
Указывает имя экземпляра DisplayObject.
DisplayObject
 InheritedopaqueBackground : Object
Определяет, является ли экранный объект непрозрачным с определенным цветом фона.
DisplayObject
 Inheritedparent : DisplayObjectContainer
[только для чтения] Указывает объект DisplayObjectContainer, содержащий данный экранный объект.
DisplayObject
 Inheritedprototype : Object
[статические] Ссылка на модель объекта класса или функции.
Object
 Inheritedroot : DisplayObject
[только для чтения] В случае с экранным объектом в загруженном SWF-файле свойством root является самый верхний экранный объект в части структуры дерева списка отображения, представленной этим SWF-файлом.
DisplayObject
 Inheritedrotation : Number
Указывает поворот экземпляра DisplayObject относительно его исходной ориентации (в градусах).
DisplayObject
 InheritedrotationX : Number
Обозначает поворот в градусах по оси x экземпляра DisplayObject относительно исходной ориентации по трехмерному родительскому контейнеру.
DisplayObject
 InheritedrotationY : Number
Обозначает поворот в градусах по оси у экземпляра DisplayObject относительно исходной ориентации по трехмерному родительскому контейнеру.
DisplayObject
 InheritedrotationZ : Number
Обозначает поворот в градусах по оси z экземпляра DisplayObject относительно исходной ориентации по трехмерному родительскому контейнеру.
DisplayObject
 Inheritedscale9Grid : Rectangle
Текущая активная сетка масштабирования.
DisplayObject
 InheritedscaleX : Number
Указывает горизонтальное масштабирование объекта от точки регистрации (в процентах).
DisplayObject
 InheritedscaleY : Number
Указывает вертикальное масштабирование объекта от точки регистрации (в процентах).
DisplayObject
 InheritedscaleZ : Number
Указывает масштабирование глубины объекта (в процентах) относительно точки регистрации этого объекта.
DisplayObject
 InheritedscrollRect : Rectangle
Прямоугольная область прокрутки экранного объекта.
DisplayObject
  smoothing : Boolean
Определяет, должно ли выполняться смягчение (интерполяция) видео при масштабировании.
Video
 Inheritedstage : Stage
[только для чтения] Класс Stage экранного объекта.
DisplayObject
 Inheritedtransform : Transform
Объект со свойствами, относящимися к матрице, преобразованию цвета и пиксельным границам экранного объекта.
DisplayObject
  videoHeight : int
[только для чтения] Целое число, задающее высоту видеопотока в пикселах.
Video
  videoWidth : int
[только для чтения] Целое число, задающее ширину видеопотока в пикселах.
Video
 Inheritedvisible : Boolean
Определяет видимость экранного объекта.
DisplayObject
 Inheritedwidth : Number
Указывает ширину экранного объекта в пикселах.
DisplayObject
 Inheritedx : Number
Указывает координату x экземпляра DisplayObject, связанную с локальными координатами родительского DisplayObjectContainer.
DisplayObject
 Inheritedy : Number
Указывает координату y экземпляра DisplayObject, связанную с локальными координатами родительского DisplayObjectContainer.
DisplayObject
 Inheritedz : Number
Указывает положение по оси z экземпляра DisplayObject относительно трехмерного родительского контейнера.
DisplayObject
Общедоступные методы
 МетодОпределено
  
Video(width:int = 320, height:int = 240)
Создает новый экземпляр Video.
Video
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события в объекте EventDispatcher, в результате чего прослушиватель будет получать уведомления о событиях.
EventDispatcher
  
Задает видеопоток с камеры для отображения в пределах объекта Video в окне приложения.
Video
  
Задает видеопоток для отображения в пределах объекта Video в окне приложения.
Video
  
Удаляет отображаемое в данный момент изображение в объекте Video (а не видеопоток).
Video
 Inherited
Передает событие в поток событий.
EventDispatcher
 Inherited
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
Возвращает прямоугольник, определяющий область экранного объекта, которая относится к системе координат объекта targetCoordinateSpace.
DisplayObject
 Inherited
getRect(targetCoordinateSpace:DisplayObject):Rectangle
Возвращает прямоугольник, определяющий границу экранного объекта по системе координат, заданной параметром targetCoordinateSpace, за исключением линий фигур.
DisplayObject
 Inherited
Преобразует объект Point из координат рабочей области (глобальных) в координаты экранного объекта (локальные).
DisplayObject
 Inherited
Преобразует двумерный объект Point из координат рабочей области (глобальных) в координаты экранного трехмерного объекта (локальные).
DisplayObject
 Inherited
Проверяет наличие у объекта EventDispatcher прослушивателей событий, которые зарегистрированы для получения уведомлений о событиях определенного типа.
EventDispatcher
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Оценивает экранный объект, чтобы определить, перекрывает ли он экранный объект obj или пересекается с ним.
DisplayObject
 Inherited
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
Вычисляет экранный объект, чтобы определить, перекрывает ли он точку, заданную координатами x и y, или пересекает ее.
DisplayObject
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Преобразует трехмерный объект point из координат трехмерного экранного объекта (локальных) в двухмерный объект point с координатами рабочей области (глобальными).
DisplayObject
 Inherited
Преобразует объект point из координат экранного объекта (локальных) в координаты рабочей области (глобальные).
DisplayObject
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Удаляет прослушиватель из объекта EventDispatcher.
EventDispatcher
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
 Inherited
Проверяет, зарегистрирован ли прослушиватель событий в объекте EventDispatcher или в любом из его предков для получения уведомлений о событиях определенного типа.
EventDispatcher
События
 Событие Сводка Определено
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player перемещается в фокус операционной системы и становится активным.EventDispatcher
 InheritedОтправляется, когда экранный объект добавляется в список отображения.DisplayObject
 InheritedОтправляется, когда экранный объект добавляется к списку отображения в рабочей области, либо непосредственно, либо путем добавления поддерева, содержащего экранный объект.DisplayObject
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player покидает фокус операционной системы и становится неактивным.EventDispatcher
 Inherited[многоадресное событие] Отправляется, когда точка воспроизведения переходит в новый кадр.DisplayObject
 Inherited[многоадресное событие] Отправляется, когда точка воспроизведения покидает текущий кадр.DisplayObject
 Inherited[многоадресное событие] Отправляется после завершения работы конструкторов экранных объектов кадра до выполнения сценариев кадра.DisplayObject
 InheritedОтправляется перед удалением экранного объекта из списка отображения.DisplayObject
 InheritedОтправляется перед удалением экранного объекта из списка отображения, либо непосредственно, либо путем удаления поддерева, содержащего экранный объект.DisplayObject
 Inherited[многоадресное событие] Отправляется перед обновлением и визуализацией списка отображения.DisplayObject
Сведения о свойстве
deblockingсвойство
deblocking:int  [чтение и запись]

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

Указывает тип фильтра, применяемого к дешифрованному видео в ходе последующей обработки. Значение по умолчанию — 0, оно позволяет видеокомпрессору при необходимости применять фильтр подавления блочности.

Сжатие видео может приводить к нежелательным искажениям. Можно использовать свойство deblocking, чтобы настраивать фильтры, уменьшающие блочность и реверберацию (для видео, сжатого с помощью кодека On2).

Блочностью называются видимая несогласованность между границами соседних квадратов, составляющих каждый видеокадр. Реверберацией называется шум вокруг элементов видеоизображения.

Имеется два фильтра подавления блочности: один в кодеке Sorenson, а другой в On2 VP6. Кроме того, при использовании кодека On2 VP6 становится доступным фильтр подавления реверберации. При настройке фильтров используйте одно из следующих значений.

Если при использовании кодека Sorenson для видео выбирается значение больше 2, то по умолчанию используется значение 2.

Использование фильтра подавления блочности оказывает общее влияние на производительность воспроизведения, обычно оно не требуется для широкополосного видео. Если пользовательская система недостаточно мощная, то, если включен фильтр подавления блочноcти, при воспроизведении видео могут возникнуть проблемы.



Реализация
    public function get deblocking():int
    public function set deblocking(value:int):void
smoothingсвойство 
smoothing:Boolean  [чтение и запись]

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

Определяет, должно ли выполняться смягчение (интерполяция) видео при масштабировании. Для реализации смягчения проигрыватель должен работать в высококачественном режиме. Значение по умолчанию — false (без смягчения).

При воспроизведении видео с помощью Flash Player 9.0.115.0 и более поздних версий, этому свойству необходимо задать значение true, чтобы применить оптимизацию изображения методом мип-наложения.



Реализация
    public function get smoothing():Boolean
    public function set smoothing(value:Boolean):void

См. также

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

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

Целое число, задающее высоту видеопотока в пикселах. Для эфирных потоков это свойство имеет то же значение, что и свойство Camera.height объекта Camera, получающего видеопоток. Для FLV-файлов это значение высоты файла, экспортированного в виде FLV-файла.

Например, это свойство можно использовать, чтобы пользователь просматривал видео в том же размере, в каком оно было получено, независимо от действительного размера объекта Video в рабочей области.



Реализация
    public function get videoHeight():int

См. также

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

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

Целое число, задающее ширину видеопотока в пикселах. Для эфирных потоков это свойство имеет то же значение, что и свойство Camera.width объекта Camera, получающего видеопоток. Для FLV-файлов это значение ширины файла, экспортированного в виде FLV-файла.

Например, это свойство можно использовать, чтобы пользователь просматривал видео в том же размере, в каком оно было получено, независимо от действительного размера объекта Video в рабочей области.



Реализация
    public function get videoWidth():int

См. также

Сведения о конструкторе
Video()Конструктор
public function Video(width:int = 320, height:int = 240)

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

Создает новый экземпляр Video. Если не задано значений для свойств width и height используются значения по умолчанию. Свойства width и height объекта Video можно настроить и после создания с помощью Video.width и Video.height. Когда создается новый объект Video, нулевые значения ширины и высоты не допускаются; при их передаче используются значения по умолчанию.

После создания объекта Video следует вызвать метод DisplayObjectContainer.addChild() или DisplayObjectContainer.addChildAt(), чтобы добавить его в родительский объект DisplayObjectContainer.

Параметры
width:int (default = 320) — Ширина видео в пикселах.
 
height:int (default = 240) — Высота видео в пикселах.
Сведения о методе
attachCamera()метод
public function attachCamera(camera:Camera):void

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

Задает видеопоток с камеры для отображения в пределах объекта Video в окне приложения.

Используйте этот метод для прикрепления к объекту Video эфирного видео с компьютера пользователя. Эфирное видео можно воспроизводить локально на том же компьютере, с которого оно передается, или передавать на Flash Media Server и затем транслировать его другим пользователям.

Параметры

camera:Camera — Объект Camera, получающий видеоданные Чтобы разорвать подключение с объектом Video, передайте значение null.

См. также


Пример
Как пользоваться примерами
Пример использования этого метода см. в примере для метода Camera.getCamera().
attachNetStream()метод 
public function attachNetStream(netStream:NetStream):void

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

Задает видеопоток для отображения в пределах объекта Video в окне приложения. Видеопоток является либо FLV-файлом, воспроизводимым методом NetStream.play(), объектом Camera или имеет значение null. Если используется FLV-файл, его можно сохранить в локальной файловой системе или на сервере Flash Media Server. Если аргумент netStream имеет значение null, воспроизведение видео в объекте Video прекращается.

Не нужно использовать этот метод, если FLV-файл содержит только аудио. Аудиокомпонент FLV-файла воспроизводится автоматически при вызове метода NetStream.play(). Чтобы управлять аудиосодержимым, связанным с FLV-файлом, используйте свойство soundTransform объекта NetStream, воспроизводящего FLV-файл.

Параметры

netStream:NetStream — Объект NetStream. Чтобы разорвать подключение с объектом Video, передайте значение null.

См. также

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

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

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

См. также

Примеры Как пользоваться примерами
VideoExample.as

В следующем примере объект Video с классами NetConnection и NetStream используется для загрузки и воспроизведения FLV-файла. Чтобы запустить данный пример, вам потребуется FLV-файл, имя и место расположения которого совпадают с переменной, переданной videoURL. В данном случае, FLV-файл Video.flv находится в том же каталоге, где размещается SWF-файл.

В данном примере код, создающий объекты Video и NetStream, а также вызывающий методы Video.attachNetStream() и NetStream.play(), размещен в функции обработчика. Обработчик вызывается только при успешном подключении к объекту NetConnection (другими словами, когда событие netStatus возвращает объект info со свойством code, указывающем на успешное выполнение задачи). Рекомендуется перед вызовом NetStream.play() дождаться успешного подключения.


 package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.media.Video;
    import flash.net.NetConnection;
    import flash.net.NetStream;

    public class VideoExample extends Sprite {
        private var videoURL:String = "Video.flv";
        private var connection:NetConnection;
        private var stream:NetStream;

        public function VideoExample() {
            connection = new NetConnection();
            connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
            connection.connect(null);
        }

        private function netStatusHandler(event:NetStatusEvent):void {
            switch (event.info.code) {
                case "NetConnection.Connect.Success":
                    connectStream();
                    break;
                case "NetStream.Play.StreamNotFound":
                    trace("Unable to locate video: " + videoURL);
                    break;
            }
        }

        private function connectStream():void {
            stream = new NetStream(connection);
            stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
            var video:Video = new Video();
            video.attachNetStream(stream);
            stream.play(videoURL);
            addChild(video);
        }

        private function securityErrorHandler(event:SecurityErrorEvent):void {
            trace("securityErrorHandler: " + event);
        }
        
        private function asyncErrorHandler(event:AsyncErrorEvent):void {
            // ignore AsyncErrorEvent events.
        }
    }
 }