封装MPMoviePlayerController,效果直逼各类主流视频播放软件

不多说直接上代码
@interface VideoPlayerController ()
{BOOL _shouldUpdatePreogressIndicator;//拖动进度控制BOOL  _isplay;NSInteger _record;UILabel *label;
}- (void)updateProgressIndicator;//更新进度条及其时间
@end@implementation VideoPlayerController//也可以初始化为一个单列变量,根据项目需求而定
- (instancetype)initWithContentURL:(NSURL *)url frame:(CGRect)frame title :(NSString *)title poster:(NSString *)posterString{self = [super initWithContentURL:url];if (self) {_posterString = posterString;_title =[NSObject setStringWithNULL: title];_selfFrame = frame;_record = 0;}return self;}
初始化控制界面
- (void)setUpUserInterface{//界面空间就不一一赘述,这里提一下subviews[0]可以拿到顶层界面,在这里可以添加你需要的控件
[self setControlStyle:MPMovieControlStyleNone]; self.scalingMode = MPMovieScalingModeAspectFit; self.view.gestureRecognizers = nil; self.view.userInteractionEnabled = YES; self.view.frame = _selfFrame; [self getControllView]; [self getposterImage]; _isplay = NO; _playPauseButton.selected = NO; [self processPlayButton:_playPauseButton]; UIWindow *window = [[[UIApplication sharedApplication] delegate] window]; _fontView = [[UIView alloc] initWithFrame:CGRectMake(0, 94, CGRectGetWidth(self.view.bounds), CGRectGetHeight(self.view.bounds)-60)]; _fontView.center = self.view.center; [window addSubview:_fontView]; _fontView.hidden =YES; UITapGestureRecognizer * tapGe = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(pressPlayer)]; [_fontView addGestureRecognizer:tapGe]; UITapGestureRecognizer * tapGe2 = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(pressPlayer)]; [self.view.subviews[0] addGestureRecognizer:tapGe2]; UITapGestureRecognizer * tapGe3 = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(pressPlayer)]; [self.view addGestureRecognizer:tapGe3]; UIPanGestureRecognizer *panGestureRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)]; [self.view.subviews[0] addGestureRecognizer:panGestureRecognizer]; UIPanGestureRecognizer *panGestureRecognizer2 = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)]; [_fontView addGestureRecognizer:panGestureRecognizer2]; }

 快进快退 
 
- (void) handlePan:(UIPanGestureRecognizer*) recognizer
{CGPoint translation = [recognizer translationInView:self.view];[recognizer setTranslation:CGPointZero inView:self.view];if (recognizer.state == UIGestureRecognizerStateChanged) {self.playScheduleSlider.value += translation.x;[self setCurrentPlaybackTime:_playScheduleSlider.value];}if (recognizer.state == UIGestureRecognizerStateBegan) {[self pause];}if (recognizer.state == UIGestureRecognizerStateEnded) {[self play];}}
- (void)sliderTouchDown:(UISlider *)_sender
{_shouldUpdatePreogressIndicator = NO;
}- (void)sliderTouchUpInside:(UISlider *)_sender
{_shouldUpdatePreogressIndicator = YES;
}
- (void)beginTimer
{


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部