测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布最新版本 | 2015 年 8 月 |
SPM支持 SPM | ✗ |
由 Stephen Radford 维护。
SRProximityRecord
是一个小类和代理,通过覆盖接近传感器来记录视频(或音频)。它基于 Beme 所使用的想法。
如果您在项目中使用了
SRProximityRecord
,请告诉我 @steve228uk
Swift 2.0 — 当前这需要最新的 Xcode 测试版。它很可能很容易降低到 1.2。
安装可以通过 CocoaPods 或手动完成。
将仓库克隆到您的项目中,并手动将目标成员资格分配给您的目标
使用 SRProximityRecord 非常简单,您只需要调用共享实例一次即可让所有操作正常运行。
let SRP = SRProximityRecord.sharedInstance
SRP.requestPermissions()
SRP.delegate = self
请求权限将请求访问相机、麦克风和相册。
设置委托将允许您使用以下概述的方法。
如果您使用 CocoaPods,请确保用
import SRProximityRecord
将模块导入到您的类中
有几个公共方法您可以使用。
方法 | 描述 |
---|---|
requestPermissions() | 如果需要,请求相机、麦克风和相册的权限 |
startRecording() | 开始录制音频/视频 |
stopRecording() | 停止录制音频/视频 |
有多个属性可以覆盖以更改 SRProximityRecord
的默认行为。
属性 | 类型 | 描述 |
---|---|---|
startRecordingAutomatically | Bool | 默认情况下,当接近传感器被覆盖时,将自动开始录制。如果您想手动执行(例如显示一个过渡屏幕),请将其更改为 false。 |
captureDevice | AVCaptureDevice | 后置摄像机的引用或 nil(如果设备中未安装相机)。 |
audioDevice | AVCaptureDevice | 参考麦克风或如果没有麦克风则返回nil。 |
captureOutput | AVCaptureOutput | 输出类型。可以是视频、图像或音频。默认为AVCaptureMovieFileOutput 。 |
outputPath | 字符串(String) | 输出文件将被记录的路径。 |
autoSave | Bool | 如果您想自动将临时文件保存到相册。默认值为true。 |
delegate | SRProximityRecordDelegate | 可选代理 |
sharedInstance | SRProximityRecord | 对类的实例的静态引用 |
SRProximityRecordDelegate
SRProximityRecord自带的代理包含3个(可选)方法,当发生不同的事件时会被调用。
方法 | 描述 |
---|---|
proximityChanged(sensorEnabled:) | 当设备的位置状态改变时被调用。将proximityState 作为一个Bool 类型传递给代理方法。 |
recordingStarted() | 记录开始时被调用 |
recordingStopped() | 记录停止时被调用 |
photoPermissionChanged(status:) | 相册权限改变时被调用 |