// Sample Code. Setting Video Device Information in ARGMedia Class
// videoDevice: AVCaptureDevice
// videoDeviceOrientation: AVCaptureVideoOrientation
// videoConnection: AVCaptureConnection
// mediaRatio: ARGMediaRatio
// videoBitrate: ARGMediaVideoBitrate
var arMedia = ARGMedia()
arMedia.setVideoDevice(arCamera.cameraDevice)
arMedia.setVideoDeviceOrientation(arCamera.cameraConnection.videoOrientation)
arMedia.setVideoConnection(arCamera.cameraConnection)
arMedia.setMediaRatio(._4x3)
arMedia.setVideoBitrate(._2M)
10.1 Take a Photo
Using the takePicture function in ARGMedia, users can take a photo of the current rendered ARGFrame. After a photo is captured, the photo is converted into a UIImage and is accessible in the closure interface.
Sample code below shows how to get the captured photo.
// Sample Code. Getting a Captured Image
let imageView = UIImageView(frame: frame)
arMedia.takePic { image in
imageView.image = image
}
10.2 Record a Video
By calling recordVideoStart and recordVideoStop method in ARGMedia class, you can start or stop video recording. Recorded video must be converted into a NSDictionary.
Sample code below shows how to obtain a recorded video.
// Sample Code. Start and Stop Video Recording
ARGMedia *argMedia = [[ARGMedia alloc] init];
…
// Start Video Recording
[argMedia recordVideoStart:^(CGFloat recTime) {
dispatch_async(dispatch_get_main_queue(), ^{
// recTime represents recorded time
});
}];
// Stop Video Recording
[argMedia recordVideoStop:^(NSDictionary * _Nonnull videoInfo) {
} save:^(NSDictionary * _Nonnull videoInfo) {
// converting video data into NSDictionary form
}];
// Sample Code. Start and Stop Video Recording
// Start Video Recording
arMedia.recordVideoStart { (sec) in
// recTime represents recorded time
}
// Stop Video Recording
arMedia.recordVideoStop({ (videoInfo) in
}) { (resultVideoInfo) in
// convert video data into NSDictionary form
}