我已经集成了C++框架,该框架需要图像数据参数为(const void* imageData)。我正在尝试从相机传递数据:
....
guard let imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer) else { return }
framework.process(imageBuffer)
并出现错误: 无法将类型“CVPixelBuffer”(又名“CVBuffer”)的值转换为预期参数类型“UnsafeMutableRawPointer?”
在 C++ 中,通过 void 指针处理对象需要进行类型转换。 例如:
void *p_void = some_data_or_func();
char *p_ch = (char*)p_void; // C-Style cast
char *p_ch2 = static_cast<char*>(p_void); // CPP-Style cast
只有现在您才可以将指针作为已知数据类型来使用。