Управление FlexD VideoDisplay не открывает поток - PullRequest
0 голосов
/ 10 июля 2011

Я пытаюсь заставить VideoDisplay воспроизводить мультимедиа с помощью FlashDevelop .Вот источник моего приложения:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
    <mx:Script>
    <![CDATA[
        import mx.events.VideoEvent;

        private function pause():void 
        {
            if (moo_player.state == VideoEvent.PLAYING)
                moo_player.pause(); else
            if (moo_player.state == VideoEvent.PAUSED)
                moo_player.play();
        }
    ]]>
    </mx:Script>

    <mx:Panel>
        <mx:VideoDisplay 
            source="bar.flv"
            width="640"
            height="480"
            maintainAspectRatio="true"
            id="moo_player"
            autoPlay="true"
            doubleClick="pause();" 
            doubleClickEnabled="true"
        />
    </mx:Panel>
</mx:Application>

Проблема в том, что когда я собираю приложение и запускаю его (к сожалению, не знал, как запустить его без KMPlayer или Mozilla - Flash Player - это плагин, я знаю)нет видео.Файл фильма находится в том же каталоге, что и файл приложения «Application.flv».Но если я несколько раз перезагружаю приложение (в плеере или браузере), видео запускается.

Итак, вот мои вопросы:

  • чтоне так с VideoDisplay компонентом и как исправить это «неиграние»?

  • какой способ запуска приложения лучше, чем запуск его в проигрывателе фильмов или в браузере?

PS: пожалуйста, не сердитесь на мойне хватает знаний - я начал использовать Flex почти 30 минут назад.

Ответы [ 3 ]

1 голос
/ 11 июля 2011

Вы должны использовать компоненты Spark, а не компоненты MX. Попробуйте это:

<?xml version="1.0" encoding="utf-8"?>
<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">
    <s:VideoPlayer source="bar.flv" width="640" height="480" />

</s:Application>
0 голосов
/ 11 июля 2011

Ну, я подумал: мой проигрыватель будет запущен на стороне клиента веб-проекта, и в FireFox этот код успешно выполняется каждый из семи запусков.Думаю, этого будет достаточно для тестирования и внедрения.

Спасибо всем за беспокойство!

0 голосов
/ 10 июля 2011

Есть некоторые проблемы с отображением видео внутри компонента.Один из единственных гибких компонентов, который в некотором роде плохо сделан.Пожалуйста, не позволяйте этому препятствовать изучению Flex.

Создайте пользовательский компонент, расширяющий его, создайте файл с именем CustomVideoDisplay.as с этим кодом:

package
{
    import mx.controls.VideoDisplay;

public class CustomVideoDisplay extends VideoDisplay
{      
    [Bindable]
    override public function get source():String
    {
        return super.source;
    }

    override public function set source(value:String):void
    {
        super.source = value;

        play();
    }

    public function CustomVideoDisplay()
    {
        super();
    }
}

}

Затем добавьте это в свой корневой <application> тег:

 xmlns:local="*"

А для вашего видео компонента, обозначьте его как:

<local:CustomVideoDisplay 
        source="bar.flv"
        width="640"
        height="480"
        maintainAspectRatio="true"
        id="moo_player"
        autoPlay="true"
        doubleClick="pause();" 
        doubleClickEnabled="true"
    />

Дайте мне знать, если это не такТрюк за тебя!

...