我已经被正式通知,iOS 17.2包含新的API,正式支持相机应用程序中用于照片捕捉的音量按钮驱动。
API称为AVCaptureEventInteraction
Link
如果我使用AVCam sample code,我将如何附加此交互?
if #available(iOS 17.2, *) {
let interaction = AVCaptureEventInteraction { event in
print ("AVCaptureEventInteraction Fired")
}
}
字符串
API不包含任何详细信息。
2条答案
按热度按时间nnvyjq4y1#
AVCaptureEventInteraction
实现了UIInterAction
协议。因此,您应该将AVCaptureEventInteraction
附加到响应器链的一部分的UI元素(* 例如 * 您的快门按钮)。范例:
字符串
ahy6op9u2#
您需要将
AVCaptureEventInteraction
集成到AVCaptureSession
或相关组件中。API用法可能如下所示:
字符串
但是,由于
AVCaptureEventInteraction
API文档并不详细,您可能需要试验在AVCaptureSession
设置中的何处添加此交互。可能的位置是在初始化会话之后和启动会话之前。我试了一个quick search on GitHub.
您可以尝试在设置会话之后但启动会话之前,在
AVCam
示例的configureSession
方法中添加AVCaptureEventInteraction
初始化。在
AVCaptureEventInteraction
的闭包中,实现按下音量按钮时捕获照片的逻辑。将交互添加到AVCaptureSession
。型
将
self.capturePhoto()
替换为AVCam中用于捕获照片的实际方法。