В соответствии с разделом «Как обновить переменную Swift при срабатывании функции обратного вызова C++»
Я могу отправить количество кадров из функции обратного вызова видео C++ в текст в представлении SwiftUI на MacOS и отобразить его.
Теперь я пытаюсь отправить необработанные данные RGB и размер необработанных данных RGB в представление SwiftUI и отобразить их на MacOS, но я этого не делаю. узнайте, как это сделать, попробовав.
Моя версия Xcode — 15.2.
Моя версия MacOS — Mac mini, MacOS M1 64bit, Sonoma 14.6. 1.
Мой код находится ниже,
- В MyCLibrary.h
Код: Выделить всё
typedef void callback_t1(uint8_t* rgbBufferPtr, uint32_t rgbBufferBytes); callback_t1* callback1 = NULL; - В CWrapperBridging.h
Код: Выделить всё
void setCallBack1(callback_t1 _callback1);
- В CWrapper.cpp
Код: Выделить всё
std::vector vctFrameData
extern "C" void setCallBack1(callback_t1 _callback1)
{
callback1 = _callback1;
}
extern "C" void videoCallbackFunction(void* RGBbufferPtr, uint32_t RGBbufferBytes)
{
int sz = (int)vctFrameData.size();
if(sz != (int)RGBbufferBytes)
{
vctFrameData.resize(RGBbufferBytes);
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79056689/how-to-create-nsimage-and-display-it-in-swiftui-view-on-macos[/url]