1. Trang chủ
  2. » Công Nghệ Thông Tin

HƯỚNG dẫn xây DỰNG một máy QUAY và PLAYBACK

7 287 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 321,13 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

HƯỚNG DẪN XÂY DỰNG MỘT MÁY QUAY VÀ PLAYBACK Multimedia rất phổ biến trong cuộc sống hiện đại , Ảnh, video , âm nhạc… Phần trước chúng ta đã tìm hiểu làm thế nào để xây dựng máy ảnh đơn

Trang 1

HƯỚNG DẪN XÂY DỰNG MỘT MÁY QUAY VÀ

PLAYBACK

Multimedia rất phổ biến trong cuộc sống hiện đại , Ảnh, video , âm nhạc… Phần trước chúng ta đã tìm hiểu làm thế nào để xây dựng máy ảnh đơn giản,truy cập thư viện chung, xem ảnh trong màn hình lớn hơn Phần này mình sẽ giới thiệu cho các bạn một máy quay đơn giản và xem lại những gì chúng ta đã quay đươc

MediaPlayer framework hỗ trợ chúng ta xem lại video Trong đó có hai phương thức:

AVFoundation – Giúp bạn thiết kế các tính năng tiên tiến như quản lý tài sản phương tiện truyền thông, chỉnh sửa phương tiện truyền thông, quản lý theo dõi Không có giao diện hỗ trợ chúng ta xử lý tuỳ chỉnh

MPMoviePlayerController – có giao diện giúp chúng ta chơi nhạc video , tuy nhiên không thể chỉnh sửa được

Trong hướng dẫn này, chúng tôi sẽ tập trung vào các MPMoviePlayerController Giúp chúng ta chơi video đơn giản

Mục tiêu:

1 Sử dụng UIImagePickerController để quay video

2 Sử dụng MPMoviePkayerController để chơi video chúng ta vừa quay xong

Khởi tạo một Project mới !

Trang 2

Thiết kế giao diện:

Để quay video ta kéo vào một button để cho phép bắt đầu quay!!! đặt tên: Recording

Trang 3

xoá 2 file ViewController Vào newFile tạo 2 file mới :

đặt tên “recordingAndPlaybackViewController” Dùng để quản lý view chúng ta vừa tạo

ra

Kết nối view với class!!!

Trang 4

Tạo action cho button “recording”.

Quay video Mã nguồn

Thêm thư viện: quản lý chơi nhạc!

1 #import "MediaPlayer/MediaPlayer.h"

2 #import "MobileCoreServices/MobileCoreServices.h"

Để lấy url video chúng ta quay được và đối tượng đại diện để chạy video! Chúng ta khai báo:

1 @property(nonatomic,strong) NSURL *videoUrl;

2 @property(nonatomic,strong) MPMoviePlayerController *videoController;

như bài trước ứng dụng chụp ảnh ta khai

báo <UIImagePickerControllerDelegate,UINavigationControllerDelegate> Ứng dụng cho phép quay video cũng tương tự -Hai phương thức để cho phép truy cập camera và thư viện

1 @interface recordingAndPlaybackViewController :

UIViewController<UIImagePickerControllerDelegate,UINavigationControllerDelegate>

Trang 5

Sau các bước trên, Ta được mã nguồn trông giống thế này:

1 #import <UIKit/UIKit.h>

2 #import "MediaPlayer/MediaPlayer.h"

3 #import "MobileCoreServices/MobileCoreServices.h"

4 @interface recordingAndPlaybackViewController :

UIViewController<UIImagePickerControllerDelegate,UINavigationControllerDelegate>

5 @property(nonatomic,strong) NSURL *videoUrl;

6 @property(nonatomic,strong) MPMoviePlayerController *videoController;

7 - (IBAction)recordingPlayback:(id)sender;

8 @end

Để cho phép quay video ta thêm mã lệnh sau:

1 - (IBAction)recordingPlayback:(id)sender {

2 if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {

3 //tạo đối tượng

4 UIImagePickerController *picker = [[UIImagePickerController alloc] init];

5 // đăng ký khuôn mẫu

6 picker.delegate = self;

7 //Đăng ký chỉnh sửa

8 picker.allowsEditing = YES;

9 // đăng ký cho phép dùng camera

10 picker.sourceType = UIImagePickerControllerSourceTypeCamera;

11 //đăng ký kiểu dữ liệu

12 picker.mediaTypes=[[NSArray alloc] initWithObjects:(NSString*)kUTTypeMovie, nil];

13 //phủ view

15 }

Các bạn nếu đã theo dõi ứng dụng chụp ảnh ở bài trước cơ bản hiểu các câu lệch –

nguyên lý links: “http://laptrinhios.vn/huong-dan-xay-dung-mot-may-anh-don-gian-su-dung-uiimagepickercontroller/“ Ở ứng dụng chụp ảnh ta không cần báo

picker.mediaTypes bởi vì mặc định của nó là cho kUTTypeImage cho phép camera ở

chế độ chụp ảnh Ở đây chúng ta muốn quay video Chúng ta phải khai báo

mediaTypes là kUTTypeMovie

Như vậy chúng ta đã cho phép camera quay video thành công!

Tuy nhiên để kiểm tra kết quả chúng ta cần cho phép video đó chạy

Chơi Video mã nguồn:

Một khi người dùng đã hoàn thành bản và xác nhận để lưu video, ứng dụng sẽ tự động phát lại video trong màn hình chính Để thực hiện việc phát lại video, chúng ta cần thực hiện:

1 Nhận URL của video chúng ta vừa quay được!

Trang 6

2 Bỏ chế độ UIImagePickkerController

3 Phát video bằng cách sử dụng các lớp MPMoviePlayerController

Tương tự UIImagePickkerViewController camera Video chúng ta có

mảng info[UIImagePickerControllerMediaURL] lưu url video vừa quay được

Như các bạn đã biết phương pháp didFinishPickingMediaWithInfo sẽ được gọi khi chúng ta xác nhận sử dụng video Khi đó chúng ta phải thoát chế độ quay video chuyển sang chế độ xem video

1 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary

*)info {

2 // dict lưu urlvideo

3 self.videoUrl = info[UIImagePickerControllerMediaURL];

6 self.videoController = [[MPMoviePlayerController alloc] init];

10 [self.videoController play];

11 }

Use Video-lấy url để chạy video, dismiss để thoát chế độ quay video Khởi tạo đối tượng self.videocontroller để chạy video – Xét url cho nó

Xét chế độ xem Frame, đưa nó vào view, cho phép play để bắt đầu chơi video

Như thế chúng ta đã Quay được video và chơi lại video

Thử biên dịch và kiểm tra :thật đáng tiếc simulator không có camera chúng ta phải chạy trên iphone kiểm tra

Sử dụng NSNotificationCenter:

Giúp chúng ta đăng ký một sự kiện khi đối tượng có một yêu cầu!

Trong didFinishPickingMediaWithInfo ta thêm đoạn mã:

2 selector:@selector(videoPlayBackDidFinish:)

3 name:MPMoviePlayerPlaybackDidFinishNotification

4 object:self.videoController];

– Đăng ký người quan sát NSNotificationCenter theo dõi video chạy

Trang 7

– Khi kết thúc xem video phương thức MPMoviePlayerPlaybackDidFinishNotification trả

về NSNotificationCenter lắng nghe Gửi đến videoPlayBackDidFinish

(kèm đối tượng videocontroller)để xử lý

1 - (void)videoPlayBackDidFinish:(NSNotification *)notification {

2

3 UIAlertView *alert = [[UIAlertView alloc]

4 initWithTitle:@"Video Playback" message:@"Playback" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];

6

7

8 }

Khi kết thúc video ta cho phép nó chạy lại đồng thời đưa ra thông báo

Biên dịch vào chạy thử trên Iphone!.ok

Có gì trong phần tiếp theo:

Mình sẽ giới thiệu cho các bạn TabarViewcontroller và navigationController! điều

hướng các cảnh!!!

full mã nguồn

1 http ://www.mediafire.com/download/xifbu3ceg8q2iyp/videoRecordingAndPlayback.zip

Ngày đăng: 19/10/2016, 00:47

TỪ KHÓA LIÊN QUAN

w