如书上说的MPMoviePlayerController的使用是非常的简单
首先使用initWithContentUrl初始化控制器
MPMoviePlayerController *mpPlayer=[[MPMoviePlayerController alloc] initWithContentURL:movieUrl];
设置他的必常用属性和frame
mpPlayer.scalingMode=MPMovieScalingModeAspectFit;
mpPlayer.allowsAirPlay=YES;
mpPlayer.controlStyle=MPMovieControlStyleDefault;
[mpPlayer.view setFrame:CGRectMake(0, 0, 320, 480)];
然后将mpPlayer的试图添加到一个用于展示的试图上:
[self.view addSubview:mpPlayer];
最后通过实现播放
[mpPlayer play];
注意一定要将mpPlayer作为属性强引用着
这样就能实现它最基本的功能了.
接下来我们要实现对控制器的动作监听,主要通过注册消息中心的通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(aa) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
这个就可以在完成视频播放是最一些自己的事情
如果要额外的定制自己的mpPlayer,
- (void)printSubviews:(UIView *)view {
for (UIView *aView in [view subviews])
{
if ([aView isKindOfClass:NSClassFromString(@"MPFullScreenVideoOverlay")]) {
overlayView = aView;
return;
}
[self printSubviews:aView];
}
}
通过MpFullScreenOverlay的subviews就可以获得我们需要的两个视图MPFullScreenTransportControls和MPCenteringNavigationBar,然后直接在这两个视图上操作就可以了。MPFullScreenTransportControls和MPCenteringNavigationBar这两个试图上的一些控件不能更改,但是你可以设置这些控件的hidden属性,让他们隐藏,你就可以自定义一些控件添加上面,这样就可以自定义MPMoviePlayerController的试图了。当然你可以自定义所有的视图,只需要将MPFullScreenOverly的所有子视图隐藏,然后创建新的视图添加到MPFullScreenOverly视图上就可以了。