RevueSDK · Swift reference Guides

Instance Property

avSampleBufferDisplayLayer

取用內部的 AVSampleBufferDisplayLayer(僅 SampleBuffer 模式可用)。

@MainActor var avSampleBufferDisplayLayer: AVSampleBufferDisplayLayer? { get }

Discussion

用於 iOS 畫中畫 —— AVPictureInPictureController 僅支援此類 layer、不支援 Metal。

renderer 常駐(setupRenderLayer 一次建好、靠 isHidden 切換),故 Metal 模式下 該 layer 仍存在、只是沒有畫面在跑(renderWithSampleBuffer 不被呼叫)。 回傳 nil 而非空白 layer,避免 PiP 開起來是黑畫面。

使用前需先設 renderMode = .sampleBuffer:

videoView.renderMode = .sampleBuffer
guard let layer = videoView.avSampleBufferDisplayLayer else { return }

建議於 Main Thread 存取。