Вся правда о Видео во Flex. Часть 2. VideoDisplay
October 8, 2007 – 5:41 pmТеперь переходим к VideoDisplay – это просто ахтунг!
В видео дисплее живет класс который называется VideoPlayer (mx.controls.videoClasses.VideoPlayer). Это сущее порождение зла), что мы можем узнать о нем? В хелпе его нету, заглянем ка во внутрь ради спортивного интереса
[code lang=”actionscript”][ExcludeClass]
/**
* @private
* VideoPlayer is an easy to use wrapper for Video, NetConnection,
* NetStream, etc. that makes playing FLV easy. It supports streaming
* from Flash Communication Server (FCS) and http download of FLVs.
*
* <p>VideoPlayer extends Video.</p>
*
* @tiptext VideoPlayer: FLV player
* @helpid ???
*/
public class VideoPlayer extends Video
….
[/code]
Едить-колотить да это супер клад который легко позволит нам работать с видео! Но почему же мы его не видим нигде? да потому что он сырой, недоделанный, причем по коментам сразу видно, что его тупо не успели сделать и спрятали с глаз долой – “только фанаты заглянут внутрь”.
теперь листаем дальше. А там [цензура][цензура][цензура][цензура][цензура]!
[code lang=”actionscript”]
//———————————-
// default times for intervals
//———————————-
public static const DEFAULT_UPDATE_TIME_INTERVAL:Number = 250; // .25 seconds
public static const DEFAULT_UPDATE_PROGRESS_INTERVAL:Number = 250; // .25 seconds
public static const DEFAULT_IDLE_TIMEOUT_INTERVAL:Number = 300000; // five minutes
public static const AUTO_RESIZE_INTERVAL:Number = 100; // .1 seconds
public static const AUTO_RESIZE_PLAYHEAD_TIMEOUT:Number = .5; // .5 seconds
public static const AUTO_RESIZE_METADATA_DELAY_MAX:Number = 5; // .5 seconds
public static const FINISH_AUTO_RESIZE_INTERVAL:Number = 250; // .25 seconds
public static const RTMP_DO_STOP_AT_END_INTERVAL:Number = 500; // .5 seconds
public static const RTMP_DO_SEEK_INTERVAL:Number = 100; // .1 seconds
public static const HTTP_DO_SEEK_INTERVAL:Number = 250; // .25 seconds
public static const HTTP_DO_SEEK_MAX_COUNT:Number = 4; // 4 times * .25 seconds = 1 second
public static const CLOSE_NS_INTERVAL:Number = .25; // .25 secconds
public static const HTTP_DELAYED_BUFFERING_INTERVAL:Number = 100; // .1 seconds
[/code]
представляете какую жопу можно организовать с таким количество таймеров, но не переживайте все 13 интервалов (интересное количество, наверное им все и объясняется) мы использовать не будем, в конструкторе мы проинициализировали всего лишь 9(!) таймеров. Я лично поставлю ящик пива кто сможет не запутавшись, написать и гарантировать мне корректность работы с таким количеством таймеров. А если еще добавить сюда NetStream который подкидывает программеру еще разные приятности, то хочется сказать:
“Респект и Уважуха Адобу! С его лучшим видео!”
а еще спасибо за все заботы о бедных программистах.
В следующих выпусках мы поговорим о практическом применением VideoDisplay и чем это грозит, поговорим NetStream’e и может что-то достанется и Video. До встречи
