【发布时间】:2015-05-01 09:55:02
【问题描述】:
我正在为 Flash 播放器的 VideoDisplay 组件中的实时流传输硬编码值 rtmp url 和流名称。它运行良好,我可以在 HTML 页面上显示视频流。
<s:VideoDisplay width="100%" height="100%" autoPlay="true" >
<s:source>
<s:DynamicStreamingVideoSource host="rtmp://X.X.X.X/live" streamType="live" >
<s:DynamicStreamingVideoItem streamName="rtmpStream"/>
</s:DynamicStreamingVideoSource>
</s:source>
</s:VideoDisplay>
但是当我从 HTML 页面传递参数时,它不会工作。它也没有给出任何错误,但无法在 HTML 页面上查看实时视频流。
[Bindable]
public var rtmpUrl:String;
[Bindable]
public var rtmpstreamName:String;
/* Assign values to new properties. */
private function initVars():void {
rtmpUrl = FlexGlobals.topLevelApplication.parameters.rtmpUrl;
rtmpstreamName = FlexGlobals.topLevelApplication.parameters.rtmpstreamName;
Security.allowDomain("X.X.X.X");
}
rtmpUrl 将直播源和直播流名称传入rtmpstreamName,传递给视频显示组件。
<s:VideoDisplay width="100%" height="100%" autoPlay="true" >
<s:source>
<s:DynamicStreamingVideoSource host="{rtmpUrl}" streamType="live" >
<s:DynamicStreamingVideoItem streamName="{rtmpstreamName}"/>
</s:DynamicStreamingVideoSource>
</s:source>
</s:VideoDisplay>
HTML 嵌入代码:
var flashvars = {};
flashvars.rtmpstreamName = "streamName";
flashvars.rtmpUrl = "rtmp://X.X.X.X/live";
swfobject.embedSWF(
"deepdemo.swf", "flashContent",
"320", "240",
swfVersionStr, xiSwfUrlStr,
flashvars, params, attributes);
【问题讨论】:
-
如果您检查返回的 HTML 页面,您会在 host="" 和 steamName="" 中看到什么值?
-
我对调试 flex 代码一无所知。但我通过将 Flash 变量 rtmpUrl 和 rtmpstreamName 值作为标签放在 Flash 播放器中来检查它,它与所需的相同。但视频流不起作用。
-
对象或嵌入代码是什么?可以发在这里吗?
-
已更新。
标签: html actionscript-3 apache-flex rtmp live-streaming