Я работаю над универсальным приложением 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 для обработки видео.
Я новичок в параллелизме, есть ли способ (чем проще, тем лучше)добиться двух записей одновременно?