2013-02-08 1 views
0

У меня есть требование, когда мне нужно показать 4 содержимого видео, параллельно, я достиг этого через параллельный элемент, но здесь главный вызов заключается в том, что я хочу показать все 4 видео в разных панелей и общей панели управления для воспроизведения/приостановки видео. Когда я пытаюсь добавить mediaplayer как Uicomponent к hbox/vbox, это исключение для запуска метаданных.OSMF PLAYER с 4 видео и 1 панель управления

Пожалуйста, помогите мне.

+0

Мы не можем помочь, если вы не сообщите нам, что такое исключение. Отображение некоторого релевантного кода всегда полезно. Удачи! –

+0

Спасибо за ответ sunil. я поделюсь фрагментом. – shyamshyre

ответ

0
protected function initPlayer():void 
     { 
      // Create a mediafactory instance 



      var leftcontainer:Panel = new Panel(); 
      leftcontainer.percentHeight=50; 
      leftcontainer.percentWidth=50; 




      mediaFactory = new DefaultMediaFactory(); 

      //Marker 1: Create a LayoutMetaData object stup up to even out the 2 parellel streams initially 
      var layoutData:LayoutMetadata = new LayoutMetadata(); 
      layoutData.percentWidth = 50; 
      layoutData.percentHeight = 50; 
      layoutData.scaleMode = ScaleMode.LETTERBOX; 

      //Marker 2: Create the left side Media Element to play the LOGO_VID and apply the meta-data 
      var leftElement:MediaElement = mediaFactory.createMediaElement(new URLResource(LOGO_VID)); 
      leftElement.metadata.addValue(LayoutMetadata.LAYOUT_NAMESPACE, layoutData); 

      //Marker 3: Create the right side Media Element to play the STREAMING_PATH and apply the meta-data 
      var rightElement:MediaElement = mediaFactory.createMediaElement(new URLResource(STREAMING_PATH)); 
      rightElement.metadata.addValue(LayoutMetadata.LAYOUT_NAMESPACE, layoutData);   

      //Marker 4: Create the ParallelElement and add the left and right elements to it 
      var parallelElement:ParallelElement = new ParallelElement(); 
      parallelElement.addChild(leftElement); 
      parallelElement.addChild(rightElement); 

      //Marker 5: Reinstantiate the layoutData to clear it out and set the layout data for the parallel element 
      layoutData = new LayoutMetadata(); 
      layoutData.layoutMode = LayoutMode.HORIZONTAL; 
      layoutData.horizontalAlign = HorizontalAlign.CENTER; 
      layoutData.verticalAlign = VerticalAlign.MIDDLE; 
      layoutData.width = 800; 
      layoutData.height = 600; 
      parallelElement.metadata.addValue(LayoutMetadata.LAYOUT_NAMESPACE, layoutData); 

      //the simplified api controller for media 
      player = new MediaPlayer(parallelElement); 



      //the container (sprite) for managing display and layout 
      container = new MediaContainer(); 
      container.addMediaElement(parallelElement); 


      //Adds the container to the stage 

      var ui:UIComponent = new UIComponent(); 
      ui.addChild(container as DisplayObject); 
      leftcontainer.addElement(ui); 

      this.addChild(container); 
     } 
+0

Привет, сунил, это код. Я пытаюсь добавить экземпляр mediacontainer к панели, потому что хочу видеть, что 2videos играет внутри 2 разных панелей. согласно приведенному выше коду, он не бросает никаких исключений, а отображает пустой экран. – shyamshyre

0

Вы можете скачать ствол НПРПА и есть папка образцов в

который есть проект ExamplePlayer, в котором много разных

способа воспроизведения видео. Следующий код извлекается оттуда

    var parallelElement:SynchronizedParallelElement = new SynchronizedParallelElement(); 
         var layout:LayoutMetadata = new LayoutMetadata(); 
         layout.horizontalAlign = HorizontalAlign.CENTER; 
         layout.verticalAlign = VerticalAlign.MIDDLE; 
         parallelElement.addMetadata(LayoutMetadata.LAYOUT_NAMESPACE, layout); 

         var mediaElement1:MediaElement = new VideoElement(new URLResource(REMOTE_PROGRESSIVE)); 
         layout = new LayoutMetadata(); 
         layout.left = 0; 
         layout.top = 0; 
         layout.percentWidth = 50; 
         layout.percentHeight = 50; 
         mediaElement1.addMetadata(LayoutMetadata.LAYOUT_NAMESPACE, layout); 
         parallelElement.addChild(mediaElement1); 

         var mediaElement2:MediaElement = new VideoElement(new URLResource(REMOTE_STREAM)); 
         layout = new LayoutMetadata(); 
         layout.left = 0; 
         layout.bottom = 0; 
         layout.percentWidth = 50; 
         layout.percentHeight = 50; 
         mediaElement2.addMetadata(LayoutMetadata.LAYOUT_NAMESPACE, layout); 
         parallelElement.addChild(mediaElement2); 

         var mediaElement3:MediaElement = new VideoElement(new URLResource(REMOTE_STREAM)); 
         layout = new LayoutMetadata(); 
         layout.right = 0; 
         layout.top = 0; 
         layout.percentWidth = 50; 
         layout.percentHeight = 50; 
         mediaElement3.addMetadata(LayoutMetadata.LAYOUT_NAMESPACE, layout); 
         parallelElement.addChild(mediaElement3); 

         var mediaElement4:MediaElement = new VideoElement(new URLResource(REMOTE_PROGRESSIVE2)); 
         layout = new LayoutMetadata(); 
         layout.right = 0; 
         layout.bottom = 0; 
         layout.percentWidth = 50; 
         layout.percentHeight = 50; 
         mediaElement4.addMetadata(LayoutMetadata.LAYOUT_NAMESPACE, layout); 
         parallelElement.addChild(mediaElement4); 

         return parallelElement; 

Попробуйте это вы получите 4 воспроизведение видео или загрузить образец и использовать FlashBuilder для запуска проекта.