Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Своя компонента Flex (http://www.flasher.ru/forum/showthread.php?t=183045)

Anig 10.08.2012 02:04

Своя компонента Flex
 
Здравствуйте.
Возможно ли создать свою компоненту Flex на основании класса fl.video.VideoPlayer?
Если да, то как, помогите пожалуйста

alatar 10.08.2012 02:16

Пакет fl поставляется только с Flash Professional. Во флексе есть гораздо более мощный фреймворк OSMF. Также можете сделать свой компонент на основе spark.components.VideoPlayer или просто его скинировать.

Добавлено через 1 минуту
P.S. Я вам уже говорил о нем в предыдущем вашем топике.

Anig 10.08.2012 02:52

Да, спасибо, но в компоненте spark нет возможности attachNetStream, которая мне очень нужна, и вроде нет playHeadTime и totalTime свойств. Мне надо исходить из уже существующей архитектуры чужого приложения, получать net stream, как-то проигрывать во флекс и отслеживать время, загрузку...

alatar 10.08.2012 03:05

Цитата:

и вроде нет playHeadTime
currentTime
Цитата:

totalTime свойств.
duration

Anig 10.08.2012 03:26

Проблема с работой с NetStream самая важная к сожалению

Добавлено через 4 минуты
Если ловить события от NetStream, то можно все наверно организовать. Сатачить его VidoPlayer-у, а сам VideoPlayer addChild-ом добавить на VideoDisplay. Но какие события ловить, которые по сути во время всей загрузки периодически должны поступать. Пробую CuePoint, не реагирует вроде мой NetStream

Добавлено через 36 минут
Вот пробую ловить событие fl.video.VideoProgressEvent ..... Нет реакции в приложении никакой. Но оно же генерируется, если в приложении есть компонента VideoPlayer..

GBee 10.08.2012 09:01

Цитата:

Для потокового видео (записанное потоковое видео, потоковое видео в реальном времени или видео с разной скоростью передачи) свойством источника является объект DynamicStreamingVideoSource. Если требуется воспроизвести записанный или потоковый видеоролик в реальном времени без поддержки множественной скорости передачи, можно передать URL-адрес строки, указывающий на видеопоток. Однако в этом случае тип streamType будет рассматриваться как any, и пользователь не сможет управлять потоком с такой же эффективностью, как при управлении объектом DynamicStreamingVideoSource.
Не оно?

Anig 10.08.2012 12:46

Не дошло, добрый человек (
Мне хочется сейчас во Flex (в скриптовой части его mxml файла) отловить событие Progress, которое должен вроде генерировать videoPlayer, посаженный как child VideoDisplay компоненты.
Код AS3:

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
                          xmlns:s="library://ns.adobe.com/flex/spark"
                          xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
        <fx:Script>
 
                import fl.video.VideoEvent;
                import fl.video.VideoProgressEvent;
                ...       
                private var mute : Boolean = false;
                public var nc:NetConnection = new NetConnection();
                public var vp:fl.video.VideoPlayer=new fl.video.VideoPlayer();
                public var ns:NetStream;
 
                private function play():void
                {
 
                nc.connect(null);
 
                ns= new NetStream(nc);
                ns.play("http://www.helpexamples.com/flash/video/water.flv");
                vp.attachNetStream(ns);
                vp.height=player.height;
                vp.width=player.width;
                vp.addEventListener( fl.video.VideoProgressEvent.PROGRESS,progress);
                player.addChild(vp);
                }
                public function progress(event:fl.video.VideoProgressEvent):void
                {//do somthing
                }
        </fx:Script>       
 
        <mx:VideoDisplay id="player" width="450" height="300" autoPlay="false"/>
        <mx:Button label="Play" click="play()"/>
</s:Application>

Что не так, помогите пожалуйста

Добавлено через 1 час 0 минут
Может надо думать в этом направлении
http://alteromusica.blogspot.com/200...s-in-flex.html
Но не знаю как это применить к моему коду ((

Krusty 10.08.2012 13:52

Anig
1)CuePoint у вас возникать и не будет, потому что у вас в файле нет никаких CuePoint. Если вам нужны ключевые кадры-то это seekpoint вообще-то.
2) Далее, событие возникает у вас в child-e, а вы пишитесь на родителя. Но это событие не всплывает
http://help.adobe.com/en_US/FlashPla...ressEvent.html
Код:

       
VideoProgressEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, bytesLoaded:uint = 0, bytesTotal:uint = 0, vp:uint = 0)

оттого у вас ничего и не выходит.

Anig 10.08.2012 14:17

Спасибо за отклик.
Уже сижу почти сутки, страшно не соображаю, а сделать надо сегодня...
Помогите пожалуйста.
Вон код приложен наверху.
Как мне это событие поймать-отослать, кому отослать, или еще какое событие...может другое надо..
Я понимаю, что так писать нельзя в форуме, но уже не соображаю.....

Добавлено через 3 минуты
Пишу как тут
http://alteromusica.blogspot.com/200...s-in-flex.html
Код AS3:

<mx:VideoDisplay id="player" width="450" height="300" autoPlay="false" myCustomEvent="onMyCustomEvent(event);" >
                <mx:Metadata>
                        [Event(name="myCustomEvent", type="fl.video.VideoProgressEvent")]
                </mx:Metadata>       
                </mx:VideoDisplay>

Получаю
<mx:Metadata> is not allowed here
Cannot resolve attribute 'myCustomEvent' for component type mx.controls.VideoDisplay

Добавлено через 18 минут
Уважаемый Krusty
Цитата:

Далее, событие возникает у вас в child-e, а вы пишитесь на родителя. Но это событие не всплывает
Можно тут поподробнее?
Где возникает это событие прогресс, как и на ком мне его отловить?

Krusty 10.08.2012 14:37

Вернитесь к старому варианту
Код:

ns.addEventListener( fl.video.VideoProgressEvent.PROGRESS,progress);
public function progress(event:fl.video.VideoProgressEvent):void
                {
trace("VideoProgressEvent yeahhhh");
                }

вот это добавьте-событие ловится?


Часовой пояс GMT +4, время: 19:41.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.