0

我有 as:VideoPlayer in flex4 我可以删除 playerControls: video1.playerControls.visible=false

但我想在全屏中删除它们:

我试过:

    protected function fullScreenHandler(event:FullScreenEvent):void {
        trace("fullscreen="+event.fullScreen);
        video1.playerControls.visible = false;//                
    }

没有效果 !事实上,一旦进入全屏模式,我似乎根本无法控制播放器:例如:我的水印徽标不再可见,我无法使按钮不可见。

有什么线索吗?

问候

4

1 回答 1

2

正如spark.components.VideoPlayer 的文档所说,这里 VideoPlayer.playerControls是皮肤部分。皮肤部分的playerControls目的是确定当您在全屏时不以任何方式与视频播放器交互时,哪些控件会淡出。所以玩家的行为就像几乎所有玩家一样:如果用户什么都不做,它会隐藏控件。

也许这就是您尝试(重新)实施的行为。但是,如果您想在播放器切换到全屏时完全不显示任何内容,您应该为视频播放器创建一个新的 Spark 皮肤。通常像你一样直接改变皮肤部分是没有意义的。

要在 Flash Builder 中为播放器创建新皮肤,您可以转到File > New > MXML-Skin。然后选择 VideoPlayer 类作为所谓的主机组件,并为您的新皮肤命名。默认情况下,Flash Builder 将标准皮肤类的内容复制到您的自定义皮肤中,因此将获得一个工作皮肤。

如果您不使用 Flash Builder,您可以转到 Flex SDK 安装文件夹/frameworks/projects/spark/src/spark/skins/spark/中的以下目录并打开VideoPlayerSkin.mxml文件。将整个内容复制到您自己的皮肤类并开始修改它。

当您为更改设置皮肤时,您还需要告诉玩家使用您的皮肤。这可以通过添加一些 CSS 信息来完成:

s|VideoPlayer
{
    skinClass: ClassReference("com.company.skins.MyVideoPlayerSkin");
}

现在你可以通过修改playerControls皮肤部分来改变你的皮肤。它位于皮肤的 MXML 文件中间的某个位置(在 SDK 版本 4.5.1 中位于第 131 行)。playerControls要全屏隐藏元素,请添加visible.fullScreenStates="false"其属性。这应该可以解决您的问题。

于 2012-08-30T13:35:29.447 回答