| 测试已测试 | ✗ |
| 语言语言 | SwiftSwift |
| 许可证 | MIT |
| 发布最后发布 | 2017 年 6 月 |
| SwiftSwift 版本 | 3.0 |
| SPM支持 SPM | ✗ |
由 Lawrence Tran 维护。
Gif Camera Controller 是一种相机输出,通过连续拍照来创建 GIF。
实例化一个 GifCameraController 并在一个 do-catch 语句中运行 setupSession()。使用 GifCameraPreview 视图查看相机预览。请注意,GifCameraPreview 当前不支持界面构建器。您必须在使用代码中实例化。
var gifCamera: GifCameraController!
var previewView: GifCameraPreviewView!
self.gifCamera = GifCameraController()
do {
if try self.gifCamera.setupSession() {
self.gifCamera.setPreviewView(self.previewView)
}
} catch let error as NSError {
self.gifCamera = nil
print(error.localizedDescription)
}
然后设置持续时间以及每秒帧数。
self.gifCamera.maxDuration = 2.0
self.gifCamera.framesPerSecond = 3开始捕获会话并开始录制。
self.gifCamera.startSession()
self.gifCaemra.startRecording()当录制完成后,委托将输出帧。
var delegate: GifCameraControllerDelegate相机控制器的委托。这必须设置。
var maxDuration: Doublegif 的最大持续时间。默认为 4 秒。
var framesPerSecond: Int相机的捕获率。默认为 18 fps。
var currentDevicePosition: AVCaptureDevicePosition当前设备位置。(只读)
func setupSession() throws -> Bool设置相机控制器。这必须在会话开始之前调用。
func setPreviewView(view: GifCameraPreviewView)向相机控制器添加预览视图。您必须在代码中实例化 GifCameraPreviewView。
func startSession()开始捕获会话。
func stopSession()停止捕获会话。
func isRecording() -> Bool返回会话是否正在录制。
func startRecording()开始录制。
func pauseRecording() 暂停录制。不重置当前参数。
func cancelRecording()停止录制并重置所有变量。
func stopRecording()结束录制。
func toggleCamera()在前后摄像头之间切换。注意 GifCameraController 默认为前摄像头。
func toggleTorch(forceKill forceKill: Bool) -> Bool切换手电筒并返回手电筒是否开启。将 forceKill 设置为 true 以关闭手电筒。
func cameraController(cameraController: GifCameraController, didFinishRecordingWithFrames frames: [CGImage], withTotalDuration duration: Double)将帧、持续时间等调用返回给委托。在调用 stopRecording() 或当 maxDuration 达到时调用。
func cameraController(cameraController: GifCameraController, didAppendFrameNumber index: Int)通知委托帧已附加。
要运行示例项目,请首先克隆仓库,然后从 Example 目录中运行 pod install。
GifCameraController 通过 CocoaPods 提供。要安装,只需将以下行添加到您的 Podfile 中
use_frameworks!
pod "GifCameraController"Lawrence Tran
更多信息请参阅 LICENSE 文件。