Video: 5 biểu hiện iPhone dính Virus và cách khắc phục 2025
Phần này bắt đầu bằng cách chỉ cho bạn cách sử dụng một trừu tượng cao cấp, lớp MPMoviePlayerViewController, để phát video trong ứng dụng iOS. Đây là mã (trong bộ điều khiển Xem Video, từ tệp tin TTTVideoViewController.m):
- (IBAction) playVideo: (id) sender {MPMoviePlayerViewController * moviePlayer = [[Phân bổ MPMoviePlayerViewController] initWithContentURL: movieURL]; [self presentMoviePlayerViewControllerAnimated: moviePlayer];}
Sự đơn giản! Tất cả những gì bạn cần là một URL trỏ đến một tệp phim trên hệ thống tệp hoặc URL Internet để tạo trình phát nhanh cho trình phát phim. UI của người chơi xử lý việc dừng lại, bắt đầu, vân vân.
Thành viên movieURL biến được thiết lập trong phương thức viewDidLoad được gọi là sau khi màn hình được khởi tạo cho trình điều khiển chế độ xem này (một bộ phim mẫu bây giờ đã được lưu trong một tệp nguồn có tên Videos.bundle), như được hiển thị ở đây:
- (void) viewDidLoad {[super viewDidLoad]; // Thực hiện bất kỳ thiết lập bổ sung sau khi tải chế độ xem. NSString * videoPath = [[NSBundle mainBundle] pathForResource: @ "Video. Gói / SampleVideo" ofType: @ "MOV"]; movieURL = [NSURL fileURLWithPath: videoPath];}
Ví dụ dưới đây chỉ cho bạn cách sử dụng trừu tượng thấp hơn một bậc so với trước đó bằng cách sử dụng phương pháp cấp thấp được gọi là recordVideo:
- (IBAction) recordVideo: (id) sender {UIImagePickerController * imagePicker = [[UIImagePickerController alloc] init]; imagePicker. sourceType = UIImagePickerControllerSourceTypeCamera; imagePicker. mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeMovie, nil]; imagePicker. delegate = self; [[UIApplication sharedApplication] setStatusBarHidden: YES]; [self presentViewController: imagePicker hoạt hình: YES hoàn thành: nil];}
Khi phương pháp này được gọi, một màn hình với một giao diện camera sẽ xuất hiện. Sử dụng màn hình này, bạn có thể bắt đầu và dừng quay video. Khi quay video xong, màn hình này chuyển điều khiển trở lại bộ điều khiển chế độ xem cuộc gọi.
Hai phương thức sau đây là các phương thức gọi lại được gọi bởi trình chọn Hình (chú ý cách bộ điều khiển xem Video tự ghi lại như là một đại biểu với đối tượng ImagePicker):
-
imagePickerControllerDidCancel được gọi là khi quá trình ghi hủy bỏ. Nó đơn giản loại bỏ trình chọn và hiển thị thanh trạng thái iOS một lần nữa.
- (void) imagePickerControllerDidCancel: (UIImagePickerController *) bộ chọn {{[UIApplication sharedApplication] setStatusBarHidden: NO]; [selecter dismissViewControllerAnimated: YES completed: nil];}
-
didFinishPickingMediaWithInfo bắt đầu bằng cách hiển thị lại thanh trạng thái iOS và loại bỏ bộ chọn. Sau đó, lưu đoạn video đã ghi lại vào thanh cuộn của thiết bị. Cuối cùng, phương pháp này đặt bộ phim thành viên movieURL để chỉ đến video mới này, vì vậy khi bạn chọn Play Video một lần nữa, bộ phim mới được quay sẽ phát.
- (void) imagePickerController: (UIImagePickerController *) bộ lọc didFinishPickingMediaWithInfo: (NSDictionary *) kết quả {NSURL * moviePathURL = [results objectForKey: UIImagePickerControllerMediaURL]; NSString * moviePath = [moviePATHURL path]; movieURL = moviePATHURL; // Lưu trong máy ảnh cuộn nếu (UIVideoAtPathIsCompatibleWithShotPhotosAlbum (moviePath)) {UISaveVideoAtPathToSavedPhotosAlbum (moviePath, nil, nil, nil);} [UIApplication sharedApplication] setStatusBarHidden: NO]; [selecter dismissViewControllerAnimated: YES hoàn thành: nil];}
