HJCameraManager 2.0.0

HJCameraManager 2.0.0

Tae Hyun Na维护。



  • 作者
  • Tae Hyun Na

HJCameraManager

一款简单快捷的 iOS 相机处理库。

安装

您可以从我们的发布页面下载最新的框架文件。HJCameraManager 也可通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile 中。pod ‘HJCameraManager’

播放

您可以选择开始模式来捕获照片或视频。

开始预览像这样拍照,

HJCameraManager.shared().startWithPreviewView(forPhoto: cameraView)

和,视频。

HJCameraManager.shared().startWithPreviewView(forVideo: cameraView, enableAudio: false)

或者,选择自定义设置和预设来开始。

HJCameraManager.shared().start(withPreviewView: cameraView, preset: AVCaptureSessionPreset3840x2160, enableVideo: true, enableAudio: false)

现在,拍照。

HJCameraManager.shared().captureStillImage { (status:HJCameraManagerStatus, image:UIImage?, fileUrl:URL?) in
    if let image = image {
        // do something you want.
    }
}

另一种拍照的方法。它提供比 captureStillImage 更小的图像,但没有快门声。

HJCameraManager.shared().capturePreviewImage { (status:HJCameraManagerStatus, image:UIImage?, fileUrl:URL?) in
    if let image = image {
        // do something you want.
    }
}

录制视频像这样。

HJCameraManager.shared().recordVideo(toFileUrl: url)

停止录制。

HJCameraManager.shared().stopRecordingVideo({ (status, image, fileUrl) in
    if let fileUrl = fileUrl {
        // do something you want.
    }
}

实用功能可以帮助您重新处理图像或视频。您可以使用给定的宽度和高度进行 resizing,保持图像比率,或裁剪中心正方形等,以便通过实用功能对捕获的图像或视频进行 resizing。

HJCameraManager.shared().captureStillImage { (status:HJCameraManagerStatus, image:UIImage?, fileUrl:URL?) in
    if let image = image {
        HJCameraManager.processingImage(image, type: .cropCenterSquare, referenceSize: .zero, completion: { (status, image, fileUrl) in
            if let image = image {
                // do something you want.
            }
        })
    }
}

HJCameraManager.shared().stopRecordingVideo({ (status, image, fileUrl) in
    if let fileUrl = fileUrl {
        HJCameraManager.processingVideo(fileUrl, toOutputFileUrl: outputFileUrl, type: .cropCenterSquare, referenceSize: .zero, preset: AVAssetExportPresetHighestQuality, completion: { (status, image, fileUrl) in
            if let fileUrl = fileUrl {
                // do something you want.
            }
        })
    }
}

观察 HJCameraManager 事件以处理业务逻辑。

NotificationCenter.default.addObserver(self, selector:#selector(cameraManagerReport), name:NSNotification.Name(rawValue: HJCameraManagerNotification), object:nil)

您可以通过更改摄像头设备方向、视频方向、预览模式来做所有事情。

许可协议

适用于MIT许可。 http://en.wikipedia.org/wiki/MIT_License