我正在使用MPMoviePlayerController播放直播视频,而我正在使用的代码是
[_moviePlayerController.view setFrame:self.view.bounds];
[_moviePlayerController prepareToPlay];
_moviePlayerController.fullscreen=YES;
_moviePlayerController.controlStyle = MPMovieControlStyleNone;
[_moviePlayerController setFullscreen:YES animated:YES];
[self.view addSubview:_moviePlayerController.view];
视频正在各个方向播放。但是我在电影播放器的顶部添加了一个按钮,可以让你缩放视频。
我知道在mediaplayer框架中我们有 MPMovieScalingModeNone,MPMovieScalingModeAspectFit,MPMovieScalingModeAspectFill和MPMovieScalingModeFill 类型的缩放模式选项。 当按下按钮时,我将缩放模式设置为MPMovieScalingModeAspectFill,当它第二次按下MPMovieScalingModeAspectFit时。 这在iPhone中也很有用。但是当我使用 iPad LANDSCAPE模式时,我无法进行任何缩放操作。当iPad处于横向模式时,我都无法使用适合或填充缩放模式。
为什么?可能是什么原因?
答案 0 :(得分:1)
U可以像这样提供随机缩放:
[UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
moviePlayer.view.transform = CGAffineTransformMakeScale(0.7f, 0.7f);
} completion:^(BOOL finished){
// if you want to do something once the animation finishes, put it here
}];
答案 1 :(得分:1)
如果视频宽高比已完全适合显示(视图)宽高比,则任何装配/填充操作都不会产生任何影响。这是设计而不是问题。
一旦完美贴合,您应该隐藏或禁用该按钮。要将视频宽高比与视图的宽高比进行比较,请使用播放器的naturalSize属性。
naturalSize
电影画面的宽度和高度。 (只读)
@property (nonatomic, readonly) CGSize naturalSize
讨论
此属性以方形报告视频的干净光圈 像素。因此,报告的尺寸考虑了变形 内容和光圈模式。
电影的自然尺寸可能会在此期间发生变化 回放。这通常发生在流式传输的比特率时 内容更改或播放在仅音频和a之间切换时 音频和视频的结合。