[英]how to set stream name for RTMP player in run time using flex?
您好:這是RTMP播放器的代碼
<?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>
如何使用as3代碼在運行時設置streamName?
我測試了:
source.host="myRTMP";
Item1.streamName="myflv";
但這沒有用!
但是,當參數嵌入到mxml中時可以使用
任何想法 ?
如果它適用於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;
如果失敗,請驗證您的流是否可用
我知道這是一篇很老的文章,但是以防萬一有人遇到相同的問題,正在執行此Flex Bug解決方法的Black Screen可能會解決他們的問題。
OSMFSettings.enableStageVideo = false
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.