//
// MyMoviePlayerViewController.h
// PlayVideo
//
// Created by zmx on 16/3/2.
// Copyright © 2016年 zmx. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface MyMoviePlayerViewController : UIViewController
@property (nonatomic, copy) NSString *urlStr;
@end
//
// MyMoviePlayerViewController.m
// PlayVideo
//
// Created by zmx on 16/3/2.
// Copyright © 2016年 zmx. All rights reserved.
//
#import "MyMoviePlayerViewController.h"
#import <MediaPlayer/MediaPlayer.h>
@interface MyMoviePlayerViewController ()
@property (nonatomic, strong) MPMoviePlayerController *player;
@end
@implementation MyMoviePlayerViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
self.player = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:self.urlStr]];
[self.view addSubview:self.player.view];
[self.player requestThumbnailImagesAtTimes:@[@(10.0)] timeOption:MPMovieTimeOptionNearestKeyFrame];
}
- (void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
self.player.view.frame = self.view.bounds;
}
@end
//
// ViewController.m
// PlayVideo
//
// Created by zmx on 16/3/2.
// Copyright © 2016年 zmx. All rights reserved.
//
#import "ViewController.h"
#import "MyMoviePlayerViewController.h"
#import <MediaPlayer/MediaPlayer.h>
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@property (nonatomic, strong) MyMoviePlayerViewController *playerController;
@end
@implementation ViewController
- (IBAction)onTap:(UITapGestureRecognizer *)sender {
self.playerController = [[MyMoviePlayerViewController alloc] init];
self.playerController.urlStr = @"http://videohy.tc.qq.com/vhot2.qqvideo.tc.qq.com/x0176bhw48q.m701.mp4?vkey=49E5BEE5C151138BFA93431926F4A715B340E7C0C6025D76912982AF6CF2593765F815F11597EAE395DD1B4ACF1E9A6F34958DA1946B0657F0C3F38E98DB8FED54A42FFC73052E3DFB22A0DBF8530FF0A5469441088B8162&br=29&platform=2&fmt=auto&level=40&sdtfrom=v3010&ocid=277094316";
[self presentViewController:self.playerController animated:YES completion:nil];
}
- (void)finishMovie:(NSNotification *)noti {
[self.playerController dismissViewControllerAnimated:YES completion:nil];
self.playerController = nil;
}
- (void)captureMovie:(NSNotification *)noti {
UIImage *image = [noti.userInfo objectForKey:MPMoviePlayerThumbnailImageKey];
self.imageView.image = image;
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
[notificationCenter addObserver:self selector:@selector(finishMovie:) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
[notificationCenter addObserver:self selector:@selector(finishMovie:) name:MPMoviePlayerDidExitFullscreenNotification object:nil];
[notificationCenter addObserver:self selector:@selector(captureMovie:) name:MPMoviePlayerThumbnailImageRequestDidFinishNotification object:nil];
}
@end