为什么我的 image/video 元数据被删除了?如何在我的文件中保存自定义信息?

Why my image/video metadata is being deleted? How can i save custom information in my files?

我正在使用 MediaStore class 进行一些实验,使用自定义数据保存我的图像和视频以供日后阅读。它工作正常,我找到了为我的媒体项目设置参数的方法,并且我能够在我的 phone 中读取它们。

例如,我正在以快动作录制视频并保存信息以使我的应用 "know" 这是一个快动作视频来制作一些自定义 UI 东西,我添加了我的 MediaStore.Images.ImageColumns.DESCRIPTION 字段中的文字。

它工作正常,但如果我将我的文件复制到我的计算机或其他 phone 并且我尝试再次读取元数据,至少一切都是空的:

MediaStore.Images.ImageColumns.TITLE
MediaStore.Images.ImageColumns.ORIENTATION
MediaStore.Images.ImageColumns.MIME_TYPE

如何避免这种情况?您是否有其他想法在我的文件中保存自定义信息以便稍后使用其他应用程序阅读?

现在我正在保存这些数据:

 static final String[] QUERY_PROJECTION = {
            MediaStore.Images.ImageColumns._ID,           // 0, int
            MediaStore.Images.ImageColumns.TITLE,         // 1, string
            MediaStore.Images.ImageColumns.MIME_TYPE,     // 2, string
            MediaStore.Images.ImageColumns.DATE_TAKEN,    // 3, int
            MediaStore.Images.ImageColumns.DATE_MODIFIED, // 4, int
            MediaStore.Images.ImageColumns.DATA,          // 5, string
            MediaStore.Images.ImageColumns.ORIENTATION,   // 6, int, 0, 90, 180, 270
            MediaStore.Images.ImageColumns.WIDTH,         // 7, int
            MediaStore.Images.ImageColumns.HEIGHT,        // 8, int
            MediaStore.Images.ImageColumns.SIZE,          // 9, long
            MediaStore.Images.ImageColumns.LATITUDE,      // 10, double
            MediaStore.Images.ImageColumns.LONGITUDE      // 11, double
            MediaStore.Images.ImageColumns.DESCRIPTION    // 12, String
    };

如有必要,我也愿意采用另一种方式在文件中保存附加信息以供日后阅读。

I add a text in my MediaStore.Images.ImageColumns.DESCRIPTION field.

这会在数据库中添加一个值。它不会修改您的视频。

It works fine, but if I copy my file to my computer, or other phone and I try to read the metadata again, everything is empty

MediaStore 中的数据没有以某种方式塞入文件中。例如,为文本 (.txt) 文件在 MediaStoreDESCRIPTION 列中设置值不会以某种方式修改该文件中的文本以包含 DESCRIPTION.

Do you have some other idea to save a custom info in my files to read it later with a different application?

修改您的文件以包含您需要的信息。