2015-01-09 2 views
0

Здравствуйте: вот код игрока RTMPКак установить имя потока для проигрывателя RTMP во время выполнения с использованием flex?

<?xml version="1.0" encoding="utf-8"?> 
<!-- http://blog.flexexamples.com/2009/12/14/playing-a-video-from-an-rtmp-server-using-the-spark-videoplayer-control-in-flex-4/ --> 
<s:Application name="Spark_VideoPlayer_DynamicStreamingVideoSource_test" 
     xmlns:fx="http://ns.adobe.com/mxml/2009" 
     xmlns:s="library://ns.adobe.com/flex/spark"> 

    <s:VideoPlayer id="vidPlyr" 
      loop="true" 
      muted="true" 
      left="100" right="100" 
      top="100" bottom="100" 
      horizontalCenter="0" verticalCenter="0"> 
     <s:source> 
      <s:DynamicStreamingVideoSource id="source" host="rtmp://fmsexamples.adobe.com/vod/" streamType="recorded"> 
       <s:DynamicStreamingVideoItem is="item1" streamName="mp4:_cs4promo_1000.f4v" /> 
      </s:DynamicStreamingVideoSource> 
     </s:source> 
    </s:VideoPlayer> 

</s:Application> 

Как я могу установить streamName в время выполнения с as3 код?

я тестировал с:

source.host="myRTMP"; 
Item1.streamName="myflv"; 

, но это не сработало!

Он работает, однако, когда параметры погруженных в MXML

любая идея?

+0

Какой класс 'Item1'? Или это опечатка? – Brian

ответ

0

если он работает на mxml, это должно работать как as3. Решение 1: установить параметры видео плеер на создание полного события или любое другое событие, выстрелил, как это:

protected function application1_creationCompleteHandler(event:FlexEvent):void 
    { 
     source.host=myRTMP; 
     Item1.streamName=myflv; 

    } 

Решение 2: связать свои параметры видеоплеера к вашим переменным:

В MXML:

<s:VideoPlayer id="vidPlyr" 
      loop="true" 
      muted="true" 
      left="100" right="100" 
      top="100" bottom="100" 
      horizontalCenter="0" verticalCenter="0"> 
     <s:source> 
      <s:DynamicStreamingVideoSource id="source" host="{myRTMP}"  
       streamType="recorded"> 
       <s:DynamicStreamingVideoItem is="item1" streamName="{myflv}" /> 
      </s:DynamicStreamingVideoSource> 
     </s:source> 
    </s:VideoPlayer> 

В ActionScript:

[Bindable] public var myRTMP:String; 
[Bindable] public var myflv:String; 

Если это не удастся проверить, что ваш поток доступен

+0

Я сделал это без успеха: черный экран. – yarek

0

Я знаю, что это действительно старое сообщение, но на всякий случай у кого-то такая же проблема, Black Screen на этом обходном пути Flex Bug может решить их проблему.

OSMFSettings.enableStageVideo = ложь

https://issues.apache.org/jira/browse/FLEX-33856