Измените имя видео, записанного с помощью CameraCaptureUI [C++]

Я использую C++ и XAML для разработки приложения пользовательского интерфейса. В выполнении есть пункт, что я использую CameraCaptureUI для записи видео. Код выглядит так:

    CameraCaptureUI^ dialog = ref new CameraCaptureUI();
    dialog->VideoSettings->Format = CameraCaptureUIVideoFormat::Mp4;




    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 = "grabando";
            });

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

            appSettings->Insert("CaptureVideo", PropertyValue::CreateString(file->Path));

     });

Это все, что я делаю для этого, когда я записываю видео, у него всегда есть "CCapture(X)" в качестве имени, будучи "X", чтобы создать уникальные имена. Я попытался скопировать файл с помощью функции CopyAsync:

create_task(StorageLibrary::GetLibraryAsync(KnownLibraryId::Videos))
                .then([this](StorageLibrary^ videosLibrary)
            {
                Windows::Storage::StorageFolder^ _videoLib = videosLibrary->SaveFolder;
                if (_videoLib == nullptr)
                {
                    // In this case fall back to the local app storage since the Pictures Library is not available
                    _videoLib = ApplicationData::Current->LocalFolder;
                }


            });

            //EtiquetaVid is a string created earlier
            file->CopyAsync(_videoLib, stringToPlatformString(etiquetaVid), NameCollisionOption::GenerateUniqueName);

Но у меня ничего не появилось в моей видео библиотеке, и не было никаких ошибок, чтобы вести меня

У меня вопрос: как я могу контролировать название выходного видео? Я искал документацию и форумы, но не могу найти решение.

1 ответ

Решение

Просматривая документацию, я нашел метод StorageFile.RenameAsync. Поскольку у меня уже был StorageFile, я мог легко изменить имя, вызывающее эту функцию.

Другие вопросы по тегам