параллелизм — Как использовать два CameraCaptureUI одновременно (UWP / C ++)

Я работаю над универсальным приложением Windows Platform (UWP), в котором я использую C ++ в качестве основного языка. Я хочу читать с двух камер одновременно. Одна камера принадлежит камере Kinect RGB, а другая — камере Kinect Depth. До сих пор мне удалось прочитать только один, используя этот кусок кода:

void SDKTemplate::Scenario4_ReproVideo::Grabar_Click(Platform::Object^
sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
CameraCaptureUI^ dialog = ref new CameraCaptureUI();
dialog->VideoSettings->Format = CameraCaptureUIVideoFormat::Mp4;

Windows::Foundation::Collections::IPropertySet^ appSettings = ApplicationData::Current->LocalSettings->Values;

concurrency::task<StorageFile^>(dialog->CaptureFileAsync(CameraCaptureUIMode::Video)).then([this](StorageFile^ file) {
if (file != nullptr) {

concurrency::task<Streams::IRandomAccessStream^> (file->OpenAsync(FileAccessMode::Read)).then([this] (Streams::IRandomAccessStream^ stream){
CapturedVideo->SetSource(stream, "video/mp4");
logger->Text = "recording";
});
Windows::Foundation::Collections::IPropertySet^ appSettings = ApplicationData::Current->LocalSettings->Values;

appSettings->Insert("CapturedVideo", PropertyValue::CreateString(file->Path));
}
else {
logger->Text = "Something went wrong or was cancelled";
}

});
}

Делая это, я могу надежно записывать с одной из камер. Моя проблема в том, что мне нужно записывать с обеих камер одновременно, так как мне нужны глубина и RGB для обработки видео.

Я новичок в параллелизме, есть ли способ (чем проще, тем лучше) добиться двух записей одновременно?

0

Решение

В приложении UWP мы можем снимать фотографии и видео, используя MediaCapture класс, который обеспечивает функциональность для захвата фотографий, аудио и видео с устройства захвата. Смотреть тему Основные фото, видео и аудио захвата с MediaCapture.

Мы можем инициализировать несколько MediaCapture экземпляры затем прочитать кадр с помощью MediaFrameReader Учебный класс. увидеть тему Откройте для себя и выберите возможности камеры с профилями камеры а также Обработка медиакадров с помощью MediaFrameReader а также заглянуть в официальный образец CameraFrames.

Кроме того, есть аналогичная тема о захвате нескольких камер UWP, вы также можете сослаться на нее:

Обработка нескольких камер захвата UWP

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]