设为首页 加入收藏

TOP

IOS开发之小实例--创建一个简单的用于视频录制和回放的应用程序(一)
2017-10-13 10:17:29 】 浏览:3420
Tags:IOS 开发 实例 创建 一个 简单 用于 视频 录制 回放 应用程序

前言:还是看了一下国外的入门IOS文章:《Create a Simple App for Video Recording and Playback》,主要涉及视频录制和回放的功能的基本实现。

 

iOS的API用于记录和播放视频的对刚入门IOS的新人有点混乱,因为有几个可用的选项。如果你只是想打一个视频,你可以用MediaPlayer的框架,它可以让我们发挥我们的设备本地存储的视频,或从远程位置。但是,如果你需要高级功能,如媒体资产管理,媒体编辑,跟踪管理,和其他人,你必须使用AVFoundation框架。我们会继续的东西简单,通过覆盖MediaPlayer的框架开始。

最重要的是,在MediaPlayer框架,给我们带来了两大类,以显示视频或电影。如果你想立 即显示视频和内联(如子视图比全屏幕较小),你应该使用的MPMoviePlayerController。通过使用的MPMoviePlayerController,播放发生在由电影播放?拥有的视图。您可以将一个电影播放?的观点到你的应用程序拥有的视图。相反,如果你想通过展示视频模式地发挥全屏幕视频,例如,你应该使用MPMoviePlayerViewController类。该MPMoviePlayerViewController课程旨在介绍显示全屏电影的简单视图控制?。

在本教程中,我们将重点放在的MPMoviePlayerController。如果你掌握的基础知识,但 是,你应该利用MPMoviePlayerViewController类没有问题。

先概述一下应用的演示:

像任何其他教程中,我们将构建一个简单的演示应用程序来指导您完成这个概念。演示应用程序是没有花哨的用户界面非常简单。一旦打开,应用程序显示一个屏幕,一个单一的“捕获”按钮。当你轻点按钮,就会弹出视频录制的摄像头。一旦完成了录制,视频在主屏幕自动显示。允许用户播放视频内嵌。很简单,不是吗?

 

然后我们开始制作这个简单的用于视频录制和回放的应用程序吧

然后下面是这个ViewController.m中完整的代码,就这些代码,没别的代码了:

 1 #import "VideoViewController.h"
 2 
 3 // 2、然后倒入需要的类库
 4 #import <MediaPlayer/MediaPlayer.h>
 5 #import <MobileCoreServices/MobileCoreServices.h>
 6 
 7 @interface VideoViewController () <UIImagePickerControllerDelegate,UINavigationControllerDelegate>
 8 
 9 /** NSURL */
10 @property (nonatomic,strong)NSURL *videoURL;
11 /** MPMoviePlayerController */
12 @property (nonatomic,strong)MPMoviePlayerController *videoController;
13 
14 @end
15 
16 @implementation VideoViewController
17 
18 - (void)viewDidLoad {
19     [super viewDidLoad];
20 }
21 
22 // 1、捕获视频
23 - (IBAction)captureVideo:(id)sender {
24     if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
25         UIImagePickerController *picker = [[UIImagePickerController alloc] init];
26         picker.delegate = self;
27         picker.allowsEditing = YES;
28         picker.sourceType = UIImagePickerControllerSourceTypeCamera;
29         picker.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeMovie, nil];
30         [self presentViewController:picker animated:YES completion:NULL];
31     }
32 }
33 
34 #pragma mark - UIImagePickerControllerDelegate代理方法
35 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
36     
37     self.videoURL = info[UIImagePickerControllerMediaURL];
38     [picker dismissViewControllerAnimated:YES completion:NULL];
39     
40     // 创建播放Video的控制器
41     self.videoController = [[MPMoviePlayerController alloc] init];
42 
43     [self.videoController setContentURL:self.videoURL];
44     [self.videoController.view \
45         setFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 320)];
46     
47     [self.view addSubview:self.videoController.view];
48     
49     // 在播放视频之前,注册通知
50     [[NSNotificationCenter defaultCenter] addObserver:self
51                                              selector:@selector(videoPlayBackDidFinish:)
52                                                  name:MPMoviePlayerPlaybackDidFinishNotification
53                                                object:self.videoController];
54     
55     // 播放加载到的视频
56     [self.videoController play];
57     
58 }
59 - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
60     
61     [picker dismissViewControllerAnimated:YES completion:NULL];
62     
63 }
64 
65 #pragma mark - 通知监听的方法
66 - (void)videoPlayBackDidFi
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇iOS开发-- APNs 下一篇iOS应用内支付(IAP)详解

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目