我在flex4中有一个:VideoPlayer 我可以删除playerControls:video1.playerControls.visible = false
但我想在FullScreen中删除它们:
我尝试过:
protected function fullScreenHandler(event:FullScreenEvent):void {
trace("fullscreen="+event.fullScreen);
video1.playerControls.visible = false;//
}
没影响! 事实上,一旦进入全屏模式,似乎我根本无法控制播放器:例如:我的水印徽标不再可见,我无法使按钮隐藏。
任何线索?
问候
答案 0 :(得分:2)
由于the documentation of spark.components.VideoPlayer says here VideoPlayer.playerControls
是皮肤部分。 playerControls
皮肤部分的目的是确定在全屏时不以任何方式与视频播放器交互时哪些控件会淡出。所以玩家的行为就像几乎所有玩家一样:如果用户什么也不做,它会隐藏控件。
也许这是您尝试(重新)实施的行为。但是如果你想在播放器切换到全屏时完全没有显示任何内容,你应该为视频播放器创建一个新的Spark Skin。通常,直接更换皮肤部件没有意义。
要在Flash Builder中为播放器创建新外观,您可以转到文件>新> MXML皮肤。 然后选择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"
。这应该可以解决您的问题。