既然有了播放在线视频, 那么我们也把录制加进来吧。
首先初始化我们的视频录制器, 并添加到View
self.captureManager = [[AVCaptureManager alloc] initWithPreviewView:self.view];
self.captureManager.delegate = self;
设置代理并写代理方法
#pragma mark - AVCaptureManagerDeleagte
- (void)didFinishRecordingToOutputFileAtURL:(NSURL *)outputFileURL error:(NSError *)error {
if (error) {
NSLog(@"error:%@", error);
return;
}
if (!isNeededToSave) {
return;
}
[self saveRecordedFile:outputFileURL];
}
开始录制 结束录制
[self.captureManager startRecording];
[self.captureManager stopRecording];
保存录制后的视频 - 写到代理方法里的
- (void)saveRecordedFile:(NSURL *)recordedFile {
[SVProgressHUD showWithStatus:@"Saving..."
maskType:SVProgressHUDMaskTypeGradient];
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(queue, ^{
ALAssetsLibrary *assetLibrary = [[ALAssetsLibrary alloc] init];
[assetLibrary writeVideoAtPathToSavedPhotosAlbum:recordedFile
completionBlock:
^(NSURL *assetURL, NSError *error) {
dispatch_async(dispatch_get_main_queue(), ^{
[SVProgressHUD dismiss];
NSString *title;
NSString *message;
if (error != nil) {
title = @"Failed to save video";
message = [error localizedDescription];
}
else {
title = @"Saved!";
message = nil;
}
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title
message:message
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
});
}];
});
}
.h文件
@property (nonatomic, assign) id<AVCaptureManagerDelegate> delegate;
@property (nonatomic, readonly) BOOL isRecording;
- (id)initWithPreviewView:(UIView *)previewView;
- (void)toggleContentsGravity;
- (void)resetFormat;
- (void)switchFormatWithDesiredFPS:(CGFloat)desiredFPS;
- (void)startRecording;
- (void)stopRecording;
网友评论
Rotation元数据用于播放器确定渲染视频的方向,但有的播放器会对其视而不见。 我竖屏用avaasertWriter录制视频 所以我现在 Rotation 是90度 但是 windows下 有些网站播放器播放时 会倒转90 度 因为有些windows下 的播放 不认得 Rotation这个属性 怎么办 不会自动旋转90自适应 苹果安卓手机播放一点事都没有 火狐浏览器的播放器也没问题
网上的案例旋转回90度的方法不是用avassertWriter 录制视频
而是avcapturefileouDAtavideo录视频 再用AVMutableVideoComposition 旋转 exprotSession等旋转后压缩倒出的 这导致 我用avassertWriter设置的比特流 帧绿 还有一些属性全变了
怎么办怎么办