如何在 UWP 视频存储文件中保存 System.Media.DateEncoded

How to save System.Media.DateEncoded in UWP video StorageFile

对于给定的 StorageFile 命名文件,我可以通过调用

检索一些属性
await file.Properties.RetrievePropertiesAsync(propertiesToRetrieve)

更改并妥善保存

await file.Properties.SaveProperties(propertiesToSave)

但是,每当我尝试将 System.Media.DateEncoded 属性 保存到视频文件(MP4 和 MOV)时,我在 try/catch 块中收到 The method or operation is not implemented 错误, 但我可以毫无问题地阅读它们。

有没有办法用现在的API保存这样的属性?

谢谢

添加信息

DateTimeOffset 由DatePicker 和Timepicker 组合而来,注入到类似下面的函数中。为了简化代码,我在下面使用 DateTimeOffset 的硬编码值。仍然会抛出异常并显示相同的消息。我保证文件不为空(未显示)。

    public async Task<bool> SaveDateEncoded(StorageFile file)
    {
        try
        {
            var dateTimeOffset = new DateTimeOffset(2000, 09, 03, 3, 50, 13, new TimeSpan(2, 0, 0));
            var props = new List<KeyValuePair<string, object>>()
            {
                        new KeyValuePair<string, object>("System.Media.DateEncoded",dateTimeOffset),
            };
            await file.Properties.SavePropertiesAsync(props);
            return true;
        }
        catch (Exception ex)
        {

            return false;
        }
    }

I am getting a The method or operation is not implemented error

此问题已在版本 1903、1909 中修复。

请看:

2020 年 2 月 27 日—KB4535996(OS 内部版本 18362.693 和 18363.693)

https://support.microsoft.com/en-us/help/4535996/windows-10-update-kb4535996

Addresses an issue with editing the properties of .mov files.

所以你可以在你的1903/1909机器上安装KB4535996,问题就解决了。