【问题标题】:Setting videogravity on avplayerlayer without animation effect在没有动画效果的avplayerlayer上设置videogravity
【发布时间】:2014-04-25 18:32:00
【问题描述】:

我正在尝试在 avplayerlayer 上设置视频重力。当我像这样设置播放器层时:

[(AVPlayerLayer *)[self layer] setVideoGravity:AVLayerVideoGravityResizeAspectFill]

视频看起来像是掉落在视图上(某种动画效果)。有什么办法可以避免这种影响? 仅供参考,我尝试在设置重力之前和之后将 avplayer 分配给图层,但没有什么不同。当我不设置重力时,视频会按我想要的方式显示(屏幕上没有任何动画)。

【问题讨论】:

  • @David,如果它只是与图层相关(我已经尝试过您链接中的方法但它不起作用),那么为什么我只有在设置视频时才能看到动画重力?
  • 您是否尝试在图层显示时更改重力?
  • 以前怎么改?
  • 回答这个问题意味着您可以看到更多的代码,而不仅仅是setVideoGravity: 调用。但基本上确保 setVideoGravity 调用是在您将视图/图层添加到视图/图层层次结构之前。

标签: ios objective-c avfoundation avplayer avplayerlayer


【解决方案1】:
AVPlayerLayer *vlayer;
vlayer.speed = isAnimated ? 1 : 999;
vlayer.videoGravity = AVLayerVideoGravityResizeAspect;

【讨论】:

    猜你喜欢
    • 2012-02-13
    • 1970-01-01
    • 1970-01-01
    • 2010-12-27
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-12
    相关资源
    最近更新 更多