OC MPMoviePlayerController的使用(这个9.0之后已经废弃了,9.0之后的我会补充,这里只是个人单纯的了解一下)
MPMoviePlayerController的使用:

RecordVideoplayView.h 文件:
#import <UIKit/UIKit.h> #import <MediaPlayer/MediaPlayer.h> NS_ASSUME_NONNULL_BEGIN @interface RecordVideoplayView : UIView /** 不过这个9.0之后已经过时了 */ @property (nonatomic ,strong)MPMoviePlayerController *Videoplayer; @property (nonatomic ,strong) NSString *VideoplayUrl;//视频播放的地址 - (void)Videoplayshow ;//显示视频的view的方法 也可以添加到自己制定的容器上,不实现这个方法 - (void)VideoplayDias ;//视频不显示的方法 @end NS_ASSUME_NONNULL_END
RecordVideoplayView.m
#import "RecordVideoplayView.h"
#import <Masonry.h>
@implementation RecordVideoplayView
- (instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if (self) {
self.backgroundColor =[UIColor blackColor];
[self AddControls];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myMovieFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification object:_Videoplayer];
}
return self;
}
- (void)AddControls {
[self addSubview:self.Videoplayer.view];
[self.Videoplayer.view mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.bottom.mas_equalTo(self);
make.top.mas_equalTo(self);
} ];
}
- (void)setVideoplayUrl:(NSString *)VideoplayUrl {
_VideoplayUrl =VideoplayUrl;
self.Videoplayer.contentURL =[NSURL fileURLWithPath:_VideoplayUrl];
[self.Videoplayer play];
}
- (MPMoviePlayerController *)Videoplayer {
if (!_Videoplayer) {
_Videoplayer =[[MPMoviePlayerController alloc]init];
_Videoplayer.movieSourceType = MPMovieSourceTypeFile;// 播放本地视频时需要这句
_Videoplayer.shouldAutoplay = YES;// 是否自动播放(默认为YES)
_Videoplayer.controlStyle = MPMovieControlStyleFullscreen;//播放模式,全屏播放
}
return _Videoplayer;
}
-(void)myMovieFinishedCallback:(NSNotification*)notify {
//释放的操作代码
[self VideoplayDias];
}
- (void)Videoplayshow {
UIWindow *window = [UIApplication sharedApplication].keyWindow;
[window addSubview:self];
}
- (void)VideoplayDias {
[UIView animateWithDuration:0.3 animations:^{
self.backgroundColor = [UIColor clearColor];
} completion:^(BOOL finished) {
[self removeFromSuperview];
}];
}
@end
效果:

再次提示,该类已经过时,只是学的时候给自己了解下而已
浙公网安备 33010602011771号