Commit 1282c7233b501fc45b7946e6b783a5ee7765a4ce
1 parent
09d4bc2d
提交0.0.14
Showing
2 changed files
with
35 additions
and
9 deletions
CNLiveAVCamera.podspec
| @@ -8,7 +8,7 @@ | @@ -8,7 +8,7 @@ | ||
| 8 | 8 | ||
| 9 | Pod::Spec.new do |s| | 9 | Pod::Spec.new do |s| |
| 10 | s.name = 'CNLiveAVCamera' | 10 | s.name = 'CNLiveAVCamera' |
| 11 | - s.version = '0.1.3' | 11 | + s.version = '0.1.4' |
| 12 | s.summary = '自定义相机' | 12 | s.summary = '自定义相机' |
| 13 | 13 | ||
| 14 | # This description is used to generate tags and improve search results. | 14 | # This description is used to generate tags and improve search results. |
CNLiveAVCamera/Classes/XFCameraController.m
| @@ -459,13 +459,29 @@ typedef void(^PropertyChangeBlock)(AVCaptureDevice *captureDevice); | @@ -459,13 +459,29 @@ typedef void(^PropertyChangeBlock)(AVCaptureDevice *captureDevice); | ||
| 459 | 459 | ||
| 460 | [self startAnimationGroup]; | 460 | [self startAnimationGroup]; |
| 461 | 461 | ||
| 462 | + AVCaptureDevice *currentDevice = [self.videoInput device]; | ||
| 463 | + AVCaptureDevicePosition currentPosition = [currentDevice position]; | ||
| 464 | + | ||
| 465 | + if (currentPosition == AVCaptureDevicePositionBack) { | ||
| 466 | + self.flashButton.hidden = NO; | ||
| 467 | + }else { | ||
| 468 | + self.flashButton.hidden = YES; | ||
| 469 | + } | ||
| 462 | } | 470 | } |
| 463 | 471 | ||
| 464 | /** | 472 | /** |
| 465 | * 确认按钮并返回代理 | 473 | * 确认按钮并返回代理 |
| 466 | */ | 474 | */ |
| 467 | -- (void)confirmBtnFunc | 475 | +- (void)confirmBtnFunc:(UIButton *)btn |
| 468 | { | 476 | { |
| 477 | + [self confirmBtnDisplayFunc:btn]; | ||
| 478 | + | ||
| 479 | +} | ||
| 480 | + | ||
| 481 | +#pragma mark - 延迟执行 | ||
| 482 | +- (void)confirmBtnDisplayFunc:(UIButton *)sender { | ||
| 483 | + | ||
| 484 | + sender.enabled = NO; | ||
| 469 | 485 | ||
| 470 | if (self.playerLayer) { | 486 | if (self.playerLayer) { |
| 471 | self.playerLayer.hidden = YES; | 487 | self.playerLayer.hidden = YES; |
| @@ -498,8 +514,7 @@ typedef void(^PropertyChangeBlock)(AVCaptureDevice *captureDevice); | @@ -498,8 +514,7 @@ typedef void(^PropertyChangeBlock)(AVCaptureDevice *captureDevice); | ||
| 498 | 514 | ||
| 499 | // }]; | 515 | // }]; |
| 500 | 516 | ||
| 501 | - self.confirmButton.userInteractionEnabled = NO; | ||
| 502 | - | 517 | + sender.enabled = YES; |
| 503 | } | 518 | } |
| 504 | else | 519 | else |
| 505 | { | 520 | { |
| @@ -540,9 +555,8 @@ typedef void(^PropertyChangeBlock)(AVCaptureDevice *captureDevice); | @@ -540,9 +555,8 @@ typedef void(^PropertyChangeBlock)(AVCaptureDevice *captureDevice); | ||
| 540 | [[NSFileManager defaultManager] removeItemAtURL:weakSelf.videoURL error:nil]; | 555 | [[NSFileManager defaultManager] removeItemAtURL:weakSelf.videoURL error:nil]; |
| 541 | weakSelf.videoURL = nil; | 556 | weakSelf.videoURL = nil; |
| 542 | } | 557 | } |
| 558 | + sender.enabled = YES; | ||
| 543 | } | 559 | } |
| 544 | - | ||
| 545 | - weakSelf.confirmButton.userInteractionEnabled = NO; | ||
| 546 | }]; | 560 | }]; |
| 547 | 561 | ||
| 548 | // [XFPhotoLibraryManager saveVideoWithVideoUrl:outputURL andAssetCollectionName:nil withCompletion:^(NSURL *videoUrl, NSError *error) { | 562 | // [XFPhotoLibraryManager saveVideoWithVideoUrl:outputURL andAssetCollectionName:nil withCompletion:^(NSURL *videoUrl, NSError *error) { |
| @@ -578,10 +592,17 @@ typedef void(^PropertyChangeBlock)(AVCaptureDevice *captureDevice); | @@ -578,10 +592,17 @@ typedef void(^PropertyChangeBlock)(AVCaptureDevice *captureDevice); | ||
| 578 | [[NSFileManager defaultManager] removeItemAtURL:weakSelf.videoURL error:nil]; | 592 | [[NSFileManager defaultManager] removeItemAtURL:weakSelf.videoURL error:nil]; |
| 579 | weakSelf.videoURL = nil; | 593 | weakSelf.videoURL = nil; |
| 580 | [[NSFileManager defaultManager] removeItemAtURL:outputURL error:nil]; | 594 | [[NSFileManager defaultManager] removeItemAtURL:outputURL error:nil]; |
| 595 | + sender.enabled = YES; | ||
| 581 | } | 596 | } |
| 582 | }]; | 597 | }]; |
| 583 | } | 598 | } |
| 599 | + | ||
| 584 | } | 600 | } |
| 601 | + | ||
| 602 | + | ||
| 603 | + | ||
| 604 | + | ||
| 605 | + | ||
| 585 | #pragma mark - 懒加载 | 606 | #pragma mark - 懒加载 |
| 586 | - (AVCaptureSession *)captureSession | 607 | - (AVCaptureSession *)captureSession |
| 587 | { | 608 | { |
| @@ -702,7 +723,7 @@ typedef void(^PropertyChangeBlock)(AVCaptureDevice *captureDevice); | @@ -702,7 +723,7 @@ typedef void(^PropertyChangeBlock)(AVCaptureDevice *captureDevice); | ||
| 702 | { | 723 | { |
| 703 | _confirmButton = [[UIButton alloc] init]; | 724 | _confirmButton = [[UIButton alloc] init]; |
| 704 | [_confirmButton setImage:[UIImage imageNamedFromMyBundle:@"fb_wancheng"] forState:UIControlStateNormal]; | 725 | [_confirmButton setImage:[UIImage imageNamedFromMyBundle:@"fb_wancheng"] forState:UIControlStateNormal]; |
| 705 | - [_confirmButton addTarget:self action:@selector(confirmBtnFunc) forControlEvents:UIControlEventTouchUpInside]; | 726 | + [_confirmButton addTarget:self action:@selector(confirmBtnFunc:) forControlEvents:UIControlEventTouchUpInside]; |
| 706 | // _confirmButton.cs_acceptEventInterval = 2.0f; | 727 | // _confirmButton.cs_acceptEventInterval = 2.0f; |
| 707 | 728 | ||
| 708 | } | 729 | } |
| @@ -846,6 +867,11 @@ typedef void(^PropertyChangeBlock)(AVCaptureDevice *captureDevice); | @@ -846,6 +867,11 @@ typedef void(^PropertyChangeBlock)(AVCaptureDevice *captureDevice); | ||
| 846 | 867 | ||
| 847 | CALayer *layer = self.view.layer; | 868 | CALayer *layer = self.view.layer; |
| 848 | 869 | ||
| 870 | + if (IS_IPhoneX_All) { | ||
| 871 | + _captureVideoPreviewLayer.frame = CGRectMake(0, 88, KScreenWidth, KScreenHeight - 88 - kVerticalBottomSafeHeight); | ||
| 872 | + }else { | ||
| 873 | + _captureVideoPreviewLayer.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight); | ||
| 874 | + } | ||
| 849 | _captureVideoPreviewLayer.frame = CGRectMake(0, 0, k_ScreenWidth, KScreenHeight); | 875 | _captureVideoPreviewLayer.frame = CGRectMake(0, 0, k_ScreenWidth, KScreenHeight); |
| 850 | _captureVideoPreviewLayer.xf_centerY = self.view.centerY; | 876 | _captureVideoPreviewLayer.xf_centerY = self.view.centerY; |
| 851 | 877 | ||
| @@ -1448,9 +1474,9 @@ typedef void(^PropertyChangeBlock)(AVCaptureDevice *captureDevice); | @@ -1448,9 +1474,9 @@ typedef void(^PropertyChangeBlock)(AVCaptureDevice *captureDevice); | ||
| 1448 | - (NSString *)createVideoFolderPath | 1474 | - (NSString *)createVideoFolderPath |
| 1449 | { | 1475 | { |
| 1450 | 1476 | ||
| 1451 | -#pragma mark - TODO: 存储路径 | 1477 | +#pragma mark - 存储路径 |
| 1452 | 1478 | ||
| 1453 | - if (self.outPutPath) { | 1479 | + if (self.outPutPath.length > 0) { |
| 1454 | return [self checkFilePath:self.outPutPath]; | 1480 | return [self checkFilePath:self.outPutPath]; |
| 1455 | } | 1481 | } |
| 1456 | return [self chatFilePathByName:@"相机"]; | 1482 | return [self chatFilePathByName:@"相机"]; |