【问题标题】:Can a Feathers VideoPlayer be scaled?羽毛视频播放器可以缩放吗?
【发布时间】:2020-03-04 06:40:55
【问题描述】:

看来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


    【解决方案1】:

    设置 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是八哥显示区域的大小。

    【讨论】:

      【解决方案2】:

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

      您应该在布局中使用VideoPlayer。例如,您可以使用VerticalLayout,如下所示:

      _videoPlayer.layout = new VerticalLayout();
      

      然后,您可以将VerticalLayoutData 传递给ImageLoader,并将percentWidthpercentHeight 的值设置为100 以使其填充VideoPlayer 的整个边界:

      _imageLoader.layoutData = new VerticalLayoutData(100, 100);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-10-29
        • 1970-01-01
        • 2017-09-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多