视频
来源:互联网 发布:sql与数据库系统的关系 编辑:程序博客网 时间:2024/04/27 16:56
//
// 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 {
[superviewDidLoad];
// Do any additional setup after loading the view.
self.player = [[MPMoviePlayerControlleralloc] initWithContentURL:[NSURLURLWithString:self.urlStr]];
[self.viewaddSubview:self.player.view];
[self.playerrequestThumbnailImagesAtTimes:@[@(10.0)]timeOption:MPMovieTimeOptionNearestKeyFrame];
}
- (void)viewDidLayoutSubviews {
[superviewDidLayoutSubviews];
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) IBOutletUIImageView *imageView;
@property (nonatomic,strong) MyMoviePlayerViewController *playerController;
@end
@implementation ViewController
- (IBAction)onTap:(UITapGestureRecognizer *)sender {
self.playerController = [[MyMoviePlayerViewControlleralloc] 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";
[selfpresentViewController:self.playerControlleranimated:YEScompletion:nil];
}
- (void)finishMovie:(NSNotification *)noti {
[self.playerControllerdismissViewControllerAnimated:YEScompletion:nil];
self.playerController =nil;
}
- (void)captureMovie:(NSNotification *)noti {
UIImage *image = [noti.userInfoobjectForKey:MPMoviePlayerThumbnailImageKey];
self.imageView.image = image;
}
- (void)viewDidLoad {
[superviewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSNotificationCenter *notificationCenter = [NSNotificationCenterdefaultCenter];
[notificationCenter addObserver:selfselector:@selector(finishMovie:)name:MPMoviePlayerPlaybackDidFinishNotificationobject:nil];
[notificationCenter addObserver:selfselector:@selector(finishMovie:)name:MPMoviePlayerDidExitFullscreenNotificationobject:nil];
[notificationCenter addObserver:selfselector:@selector(captureMovie:)name:MPMoviePlayerThumbnailImageRequestDidFinishNotificationobject:nil];
}
@end
- 视频
- 视频
- 视频
- 视频
- 视频
- 视频
- 视频
- 视频
- 视频
- 视频
- 视频
- 视频
- 视频
- 视频
- 视频
- 视频
- 视频
- 视频
- iOS开发中app之间的跳转
- LeetCode 43 - Multiply Strings
- Spring 4.2.4.RELEASE MVC 学习笔记 - 6.3 - 中文乱码(咋个办呢 zgbn)
- iOS字体相关知识
- Android数据库Realm学习(一)基本使用
- 视频
- 网址收藏
- MYSQL 查询数据库中所有表及表中是否存在指定列方法
- windows10 训练word2vec 中文语料
- 引用头文件不同方式的区别
- java linkedlist 使用
- python词云 wordcloud 入门
- 启动线程数公式
- uva 12296 切割凸多边形