我使用 Apple 的示例代码AVCAM开发了一个自定义相机功能,并且在我的应用程序中启用了背景模式,这导致了红条问题。
我创建 AVCaptureSession,然后在会话中添加输入(.Video,.Audio)和输出。
下面是在会话中添加音频输入的代码
var audioDeviceInput:AVCaptureDeviceInput!
guard let audioDevice = AVCaptureDevice.default(for: AVMediaType.audio) else { return }
do {
audioDeviceInput = try AVCaptureDeviceInput(device: audioDevice)
} catch let error {
audioDeviceInput = nil
NSLog("Could not create audio device input: \(error)")
}
self.session.addInput(audioDeviceInput)
现在当用户按下主页按钮时,红色条在 iPhone 屏幕上闪烁几毫秒然后消失(表示正在使用麦克风),我想避免这个红色条。
在做了一些研发之后,我才知道这是因为在会话中添加了音频输入(上面提到了添加音频输入的代码)
到目前为止我所做的是?为了解决这个问题,我只在用户开始录制视频时添加音频输入,并在用户停止视频时删除音频输入。这实际上解决了红条问题,但这恰好导致预览中的混蛋,这真的很烦人。现在,我想解决这个 UI 混蛋,但不知道该怎么做。
任何帮助将不胜感激。