2017-09-12 36 views
1

SceneKit: What's New presentation at WWCD2017(44:19)期間,有人說我們現在可以使用AVCaptureDevice作爲SCNScene的背景內容。使用AVCaptureDevice作爲SCNScene背景內容

片段從演示:

let captureDevice: AVCaptureDevice = ... 
scene.background.contents = captureDevice 

但是下面的代碼

let captureDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .back)! 
scene.background.contents = captureDevice 

產生一個錯誤:

[SceneKit] Error: Cannot get pixel buffer (CVPixelBufferRef) 

我也試圖創建和啓動AVCaptureSession,然後使用設備,但它給出了相同的結果。

這裏可能存在什麼問題?

+0

請注意,該錯誤似乎在iOS 11.2中修復 - 我編輯了我原來的答案。 – mnuages

回答

1

編輯

這個錯誤似乎是固定在IOS 11.2


原來的答覆

這似乎是在SceneKit的錯誤。

如果這對您有用,解決方法是使用ARSCNView。它使您可以訪問所有SceneKit API,並自動將視頻饋送作爲場景的背景進行繪製。