ios – 当音频设备添加到AVCaptureSession时,UIImpactFeedbackGenerator不工作

前端之家收集整理的这篇文章主要介绍了ios – 当音频设备添加到AVCaptureSession时,UIImpactFeedbackGenerator不工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
将麦克风音频输入添加到AVCaptureSession似乎禁用了UIImpactFeedbackGenerator.

let audioDevice = AVCaptureDevice.defaultDevice(withMediaType: AVMediaTypeAudio)
let audioDeviceInput = try AVCaptureDeviceInput(device: audioDevice)
if self.session.canAddInput(audioDeviceInput) {
   self.session.addInput(audioDeviceInput)
}

移除音频设备后,将恢复反馈.

这是正常的行为吗?有没有解决的办法?

我注意到视频模式下的iOS相机应用程序和长按缩略图似乎仍然使反馈工作.所以有必要解决这个问题吗?

解决方法

这似乎是一种故意行为.

您可以停止捕获会话,播放触觉,然后恢复捕获会话,这似乎是相机应用程序正在执行的操作,就像您偷看相机提要进入捕获的最后一帧的模糊静态图像一样.例如:

self.session.stopRunning()
// Play haptic
UINotificationFeedbackGenerator().notificationOccurred(.warning)
// Not completely sure if this delay is needed but you might need to wait until the run loop after the haptic plays to resume capture session
DispatchQueue.main.asyncAfter(deadline: .now() + 0.1)
{

    self.session.startRunning()
}

猜你在找的Xcode相关文章