在Objective-C,你可以輕鬆地投了CVImageBufferRef作爲CVPixelBufferRef:斯威夫特 - 你怎麼投了CVImageBufferRef作爲CVPixelBufferRef
CMSampleBufferRef sampleBuffer = some value
CVPixelBufferRef pixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer);
我怎樣才能做到這一點迅速?
var pixelBuffer : CVPixelBufferRef = CMSampleBufferGetImageBuffer(sampleBuffer)
給出了錯誤: '非託管<CVPixelBufferRef>' 是無法轉換爲 'CVPixelBufferRef'
var pixelBuffer : CVPixelBufferRef = CMSampleBufferGetImageBuffer(sampleBuffer).takeRetainedValue()
給出了錯誤: 'CVImageBuffer' 是無法轉換爲「CVPixelBufferRef '
var pixelBuffer : CVPixelBufferRef = CMSampleBufferGetImageBuffer(sampleBuffer).takeRetainedValue() as CVPixelBufferRef
給出了錯誤:無法轉換表達式的類型「CVPixelBufferRef爲鍵入「CVPixelBufferRef」
謝謝!在Objective-C中,CVImageBufferRef是CVPixelBufferRef的同義詞,所以這讓我發瘋。 – klinger
在這種情況下,我建議你提交一個bug特性請求,以便在將來的版本中進行自動轉換:-)我不排除有某種函數可以在隱藏在某處的兩種類型之間進行橋接,但是通過一個不透明的指針是我想到的第一個解決方案:-) – LombaX