iOS 視頻錄制/系統(tǒng)拍照

效果:

GIF

1.視頻錄制

功能說明:

  • 視頻錄制,可設(shè)置錄制的最長時間,和最短時間
  • 可保存視頻封面圖(中間幀)和視頻(.MP4)到相冊
  • 視頻路徑,視頻大小、封面的路徑會打印出來
  • 進度條是用定時器寫的
  • 可切換攝像頭
  • 視頻錄制完成后會自動播放,播放模式為:豎屏錄制時:高16:寬9 、橫屏錄制時高9 :寬16 (判定模式為點擊錄制的那一瞬間手機旋轉(zhuǎn)的狀態(tài))

使用:

#import "VideoRecordManager.h"

- (void)viewDidLoad {
    [super viewDidLoad];
     self.manager = [[VideoRecordManager alloc] initWithSuperView:self.backView];
     self.manager.delegate = self;
}

- (void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    //打開相機
    [self.manager openVideo];
}

- (void)viewWillDisappear:(BOOL)animated{
    [super viewWillDisappear:animated];
    //關(guān)閉相機
    [self.manager closeVideo];
}

提供的方法:

/**
 開啟攝像頭
 */
- (void)openVideo;

/**
 關(guān)閉攝像頭
 */
- (void)closeVideo;

/**
 切換攝像頭
 */
- (void)exchangeCamera;

/**
 開始錄像
 */
- (void)startVideoRecord;

/**
 停止錄像
 */
- (void)stopVideoRecord;

/**
 刪除錄像
 */
- (void)deleteVideoRecord;

/**
 獲取視頻數(shù)據(jù)路徑
 
 @param callback 回調(diào)
- (void)getVideoAndThumbnailPathWithBlock:(void (^)(NSString *videoPath , NSString *thumbnailPath))callback;
 */

@protocol VideoRecordManagerDelegate <NSObject>

@optional;

/**
 視頻錄制過短回調(diào)
 
 @param manager self
 */
- (void)recordTimerTooShort:(VideoRecordManager *)manager;

/**
 錄制視頻時間達到限制
 
 @param manager self
 */
- (void)recordTimerEnd:(VideoRecordManager *)manager;

/**
 錄制進度改變
 
 @param progress progress(0 ~ 1)
 */
- (void)recordProgressChange:(CGFloat)progress;

2.系統(tǒng)拍照:

功能說明:

  • 拍照的AVCaptureVideoPreviewLayer大小為 4 : 3,根據(jù)需求自行修改~
  • 在拍照前監(jiān)聽手機旋轉(zhuǎn)的狀態(tài),橫拍完成后會旋轉(zhuǎn)過來.

使用:

#import "ERCameraManager.h"
/**
 初始化
 
 @param superView 父視圖
 @return self
 */
- (instancetype)initWithSuperView:(UIView *)superView;

/**
 開啟攝像
 */
- (void)openVideo;

/**
 關(guān)閉攝像
 */
- (void)closeVideo;

/**
 拍照
 */
- (void)takePicture;

/**
 取消
 */
- (void)cannel;

/**
 切換攝像頭
 */
- (void)exchangeCamera;

/**
 獲取原圖

 @return image
 */
- (UIImage *)getOriginalImage;

Demo

GitHub - ERVideoRecord 喜歡請給個Star ~ 感謝~

關(guān)于視頻錄制核心代碼我參考的是PKShortVideo并修改添加了一些方法,在此引用膜拜大神

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容