2014-09-18 80 views
4

我在AS3中无法正确调整视频大小和舞台大小。当设置swf的高度和宽度时,视频消失

我已成立了一个netstream和我能够播放视频,但每当我设置我想嵌入的对象是在页面上SWFObject的的高度和宽度,视频消失。

我仍然可以听到音频,我可以告诉物体尺寸合适,但没有视频。我曾尝试设置stage.stageWidth/stageHeight属性,但他们没有看到我的任务。 例子:

stage.stageWidth = 400; 
trace(stage.stageWidth); // equals 500 for some reason 

的stage.stageWidth/Height属性似乎也没有什么做的flash对象在浏览器占用面积(其全屏幕)。我也尝试设置stage.width/height,并且我得到一个错误,指出Stage类没有实现这些属性。我很困惑。

+4

'stageWidth/stageHeight'有效只读的。如果缩放模式不是“NO_SCALE”,那么即使缩放大小后也会报告原始的swf大小。显示你的代码(你在哪里播放视频),你的swfobject代码也可能有用。 – BadFeelingAboutThis 2014-09-19 00:13:28

+0

您使用'stage.fullScreenWidth'来获取显示器的全宽。您不能在闪光灯内设置舞台的宽度/高度,容器需要这样做。 – BadFeelingAboutThis 2014-09-19 00:16:45

+1

设置'stage.scaleMode = StageScaleMode.NO_SCALE',然后指定视频对象的高度和宽度似乎已经修复它。谢谢你用磅秤指向正确的方向。 – 2014-09-19 17:21:39

回答

0

您无法更改SWF中舞台的尺寸,例如通过stage.stageWidth = 600;,但您可以告诉包含HTML页面以更改嵌入的SWF的宽度/高度属性,然后在SWF中您可以响应舞台大小更改,例如

stage.align = StageAlign.TOP_LEFT; 
stage.scaleMode = StageScaleMode.NO_SCALE; 
stage.addEventListener(Event.RESIZE, onStageResized, false, 0, true); 

并从那里更新布局。

如果您调整HTML中的/元素的大小,将调整SWF的阶段大小。

的SWF内容然而,将规模,除非你指定会有AS3中不结垢:

stage.scaleMode = StageScaleMode.NO_SCALE; 

同样重要的是可扩展的主权财富基金工作时要注意,在默认情况下,导出的舞台尺寸将始终坐在调整大小的区域内。

我觉得更容易,当一切都从左上角调整大小后的面积,这可以通过添加这个问题,以及完成的测量:

stage.align = StageAlign.TOP_LEFT;