我有一个用于播放视频的MPMoviePlayerController。我正在使用subviews创建水印标签以放置在视频上。我需要将水印放置在实际视频的顶部,但不要在视频侧面或顶部的黑色空间。

我知道我可以使用naturalSize来获取原始视频尺寸。但是,当播放器视图大于自然尺寸时,视频将拉伸以适合视图。有没有办法在播放器视图中获得拉伸视频的大小?如果我知道视频的实际大小,则应该能够计算出将水印正确放置在视频上方的坐标。

有任何想法吗?

最佳答案

您可以使用属性naturalSize获得电影的大小。

moviePlayer.naturalSize.height  //to get the height of the frame player


更新!

希望能帮助到你

 -(CGRect)getResizedVideoFrame:(CGRect )naturalSize andPlayerViewSize:(CGRect)playerSize {
    float resVi = naturalSize.size.width / naturalSize.size.height;
    float resPl = playerSize.size.width / playerSize.size.height;
    return (resPl > resVi ? CGRectMake(0, 0, naturalSize.size.width * playerSize.size.height/naturalSize.size.height, playerSize.size.height) : CGRectMake(0, 0,playerSize.size.width, naturalSize.size.height * playerSize.size.width/naturalSize.size.width));
 }

09-17 00:29