FLVPlayBack没有缩放到全屏

时间:2012-05-12 01:29:25

标签: actionscript-3 flash flvplayback

我正在尝试使FLVPlayBack的实例全屏运行,而不会影响应用程序的其余部分。

根据我读过的内容,我已经设置了玩家缩放模式,以便在缩放时适合窗口。

flvPlayer.scaleMode = "exactFit";

为了阻止舞台扩大规模,我也设置了舞台的缩放模式。

stage.scaleMode = "noScale";

然后,为了尝试控制当我点击全屏按钮时视频播放器的功能,我还使用播放器上的fullScreenTakeOver设置。

如果我将代码设置为'false'

flvPlayer.fullScreenTakeOver = false;

然后整个界面变成全屏,舞台位于窗口的中央,我想这是因为我设置了舞台不按比例。视频保持正常大小,并继续做它正在做的事情。退出全屏会使舞台恢复正常。

另一方面,如果我把它设置为'true'

flvPlayer.fullScreenTakeOver = true;

然后视频占据了屏幕,但它没有放大,而是将视频定位在页面中间,控件的可点击区域移动到视频全尺寸时的位置,让我猜测按钮应该在哪里。

在这两种情况下,视频都可以正常运行。

任何人都可以帮我正确组合设置吗?我希望应用程序保持其窗口大小和飞行播放器可以扩展以适应全屏幕。

感谢。

2 个答案:

答案 0 :(得分:1)

flvplayback中有一个名为fullScreenTakeOver的属性,默认设置为true。这会干扰全屏真的很糟糕。如果您想在不更改舞台逻辑的情况下应用全屏,则最好在实例化后将其设置为false。这会减少你的烦恼

答案 1 :(得分:0)

您需要设置一些您已经完成的设置

stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align     = StageAlign.TOP_LEFT;
flvPlayer.fullScreenTakeOver = false;

现在,当您进入全屏时,您的应用程序内容将位于左上方。您将需要为全屏模式创建事件侦听器。

stage.addEventListener(FullScreenEvent.FULL_SCREEN, fullScreenHandler);

在那种情况下,您将处理调整大小和移动视频的位置(如果需要,还可以在舞台上隐藏其他对象)

function fullScreenHandler(e:FullScreenEvent):void
{
    if (stage.displayState == StageDisplayState.NORMAL)
    {
        // Setup NORMAL Layout
        // resize and reposition the flvPlayer
    }
    else
    {
        // Setup FULL_SCREEN Layout
        // move the flvPlayer to x:0 and y:0
        // set the flvPlayer width and height to stage.stageWidth and stage.stageHeight
    }
}