![]() |
|
||||||||||
|
|||||
|
Здравствуйте
есть у меня вью плеера, это SkinnableContainer со скином В нем есть несколько динамических skinPart-ов (плэйлист, реклама, убирающаяся полоска кнопок Б большаякнопка плэй-паузавсередине экрана, большая кнопка BusyIndicator в середине экрана итд) Из за отсутствия опыта работы со стэйтами я прописал их в компоненте и скине следующим образом [SkinState(name="normal")] // маленькая полоска ScrubBar [SkinState(name="disabled")] [SkinState(name="extended")] // маленькая полоска ScrubBar + всплывающие контролы [SkinState(name="normalWithPlaylist")] // маленькая полоска ScrubBar + плэйлист [SkinState(name="normalWithBuffering")] // маленькая полоска ScrubBar + BusyIndicator [SkinState(name="extendedWithPlaylist")] // маленькая полоска ScrubBar + плэйлист [SkinState(name="extendedWithAdvert")] // маленькая полоска ScrubBar + + всплывающие контролы + плэйлист [SkinState(name="extendedWithBuffering")] // маленькая полоска ScrubBar + всплывающие контролы + BusyIndicator [SkinState(name="paused")] // в контролах кнопка плэй со стрелкой [SkinState(name="playing")] // в контролах кнопка плэй со паузой [as3] <s:states> <s:State name="normal"/> <s:State name="disabled"/> <s:State name="extended"/> <s:State name="normalWithBuffering"/> <s:State name="normalWithPlaylist"/> <s:State name="extendedWithPlaylist"/> <s:State name="extendedWithAdvert"/> <s:State name="extendedWithBuffering"/> <s:State name="paused"/> <s:State name="playing"/> </s:states> [as3] При такой ситуации я не могу назначить стэйт для компонента когда он стоит на паузе (в середине экрана кнопка с треугольником) + показывает рекламу Или мне нужно абсолюно все стэйты прописать? типа: extendedPlyingWithAdvert extendedBufferingWithAdvert ... И потом, скажем для перехода из extendedWithAdvert в extendedPlyingWithAdvert мне нужно распарсить строку предидущего стэйта на предмет нахождения "WithAdvert" и поменять стэйт ? Мне кажется это мраком Как правильно работать со стэйтами в таких ситуациях ? |
|
|||||
|
По идее у вас всего три-четыре состояния. Стартовая заставка (если таковая есть) с большой кнопкой "плей", проигрывание, пауза с большой кнопкой "плей" и плейлист (если он полноэкранный), возможно еще busy, если он у вас блокирует плеер.
Цитата:
__________________
משיח לא בא משיח גם לא מטלפן |
|
|||||
|
Регистрация: Mar 2011
Сообщений: 48
|
Разделите UI стейты и Playback стейты. Очевидно же
|
|
|||||
|
использовать stateGroup ?
Я, признаться, совсем отошел от такого количества стэйтов в пользу skinPart динамических для компонента плеера То есть, бизиИндикатор - динамический skinPart, большая кнопка в середине плеера, тоже Я пытаюсь сделать это плеер на основе MVC, и когда модель диспатчит событие о начале буфферизации, вьюха компонента плеер, слушает это событие (ModelEvent.BUFFERING) и подключает динамический skinPart в виде busyIndicator-а, большая кнопка ПЛЭЙ в середине - тоже динамич. скинпарт, картинка привью для видео, тоже |
![]() |
![]() |
Часовой пояс GMT +4, время: 10:15. |
|
|
« Предыдущая тема | Следующая тема » |
|
|