1

我试图让 FLVPlayBack 的一个实例全屏运行,而不影响应用程序的其余部分。

根据我读过的东西,我已经设置了播放器缩放模式,因此它在放大时会适合窗口。

flvPlayer.scaleMode = "exactFit";

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

stage.scaleMode = "noScale";

然后,为了尝试控制视频播放器在我单击全屏按钮时的操作,我还使用了播放器上的 fullScreenTakeOver 设置。

如果我将代码设置为“假”

flvPlayer.fullScreenTakeOver = false;

然后整个界面变成全屏,舞台位于窗口的中心,我猜这是因为我将舞台设置为不缩放。视频保持正常大小并继续执行它正在执行的操作。退出全屏会缩小舞台恢复正常。

另一方面,如果我将其设置为“真”

flvPlayer.fullScreenTakeOver = true;

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

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

任何人都可以帮助我正确组合设置吗?我希望应用程序保持其窗口大小,并让飞行播放器自行缩放以适应全屏。

谢谢。

4

2 回答 2

1

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

于 2012-08-27T18:52:49.707 回答
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
    }
}
于 2012-08-27T19:35:49.457 回答