兼容 IOS 端
This commit is contained in:
@@ -129,14 +129,30 @@ private final class RecordingCameraController: NSObject, AVCaptureFileOutputReco
|
||||
var statusListener: (([String: Any]) -> Void)?
|
||||
|
||||
func attach(previewView: RecordingPreviewView) {
|
||||
self.previewView = previewView
|
||||
previewView.previewLayer.session = session
|
||||
let bindPreview = { [weak self, weak previewView] in
|
||||
guard let self, let previewView else { return }
|
||||
self.previewView = previewView
|
||||
previewView.previewLayer.session = self.session
|
||||
}
|
||||
if Thread.isMainThread {
|
||||
bindPreview()
|
||||
} else {
|
||||
DispatchQueue.main.async(execute: bindPreview)
|
||||
}
|
||||
}
|
||||
|
||||
func detach(previewView: RecordingPreviewView) {
|
||||
if self.previewView === previewView {
|
||||
self.previewView?.previewLayer.session = nil
|
||||
self.previewView = nil
|
||||
let unbindPreview = { [weak self, weak previewView] in
|
||||
guard let self, let previewView else { return }
|
||||
if self.previewView === previewView {
|
||||
previewView.previewLayer.session = nil
|
||||
self.previewView = nil
|
||||
}
|
||||
}
|
||||
if Thread.isMainThread {
|
||||
unbindPreview()
|
||||
} else {
|
||||
DispatchQueue.main.async(execute: unbindPreview)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user