Feathers VideoPlayer可以缩放吗?

问题描述 投票:1回答:2

似乎可以设置Feathers VideoPlayer组件的宽度和高度。

但是,当我加载视频源时,大小总是恢复为本地视频的大小。

任何想法如何解决此问题?

在此示例中,本机视频为640x390,并且播放器以该尺寸显示。

_videoPlayer = new VideoPlayer();
_videoPlayer.setSize( 640*2, 390*2 );
_videoPlayer.validate();

addChild( _videoPlayer);
_videoPlayer.videoSource = "http://www.test.com/test.mp4";
_imageLoader = new ImageLoader();
_videoPlayer.addChild( _imageLoader );
_videoPlayer.addEventListener( Event.READY, videoPlayer_readyHandler );
_videoPlayer.addEventListener( FeathersEventType.CLEAR, videoPlayer_clearHandler );

谢谢,

标记

air feathersui
2个回答
0
投票

设置imageLoader大小似乎是答案。

_videoPlayer = new VideoPlayer();
_videoPlayer.setSize( 640*Main._starlingScale, 390*Main._starlingScale );
_videoPlayer.validate();

_containerSprite.addChild( _videoPlayer);
_videoPlayer.videoSource = "http://www.test.com/test.mp4";
_imageLoader = new ImageLoader();
_imageLoader.width = 640;
_imageLoader.height = 390;
_videoPlayer.addChild( _imageLoader );

// 640x390是八哥显示区域的大小。


0
投票

默认情况下,VideoPlayer没有布局,因此,即使您设置了widthheight属性,它也不会限制您添加的任何子项的大小,例如[C0 ],显示视频纹理。 ImageLoader实际上保持在其固定大小,但是VideoPlayer看到它没有明确的宽度/高度,因此它调整了自身大小以将视频纹理呈现为视频的原始大小。

您应将ImageLoader与布局一起使用。例如,您可以使用VideoPlayer,如下所示:

VerticalLayout

然后,您可以将_videoPlayer.layout = new VerticalLayout(); 传递到VerticalLayoutData,并将ImageLoaderpercentWidth值设置为percentHeight,以使其充满100的整个范围:

VideoPlayer
© www.soinside.com 2019 - 2024. All rights reserved.