我有一个用于播放视频的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));
}