gpt4 book ai didi

qt - Qt中如何判断文件是照片还是视频?

转载 作者:行者123 更新时间:2023-12-04 13:04:47 29 4
gpt4 key购买 nike

Qt中如何判断文件是照片还是视频?

最佳答案

你问 Qt 是否可以判断某些东西是“照片还是视频”,这是模棱两可的,但我会将其翻译为:

如果我有文件名,Qt 是否有功能告诉我它是 (a) 图像文件、(b) 视频文件还是 (c) 其他类型的文件?

了解文件的类型可以来自几个来源。文件名中有扩展名,“嗅探”文件数据的内容并寻找可识别的魔术头序列,还有可能存在于其他地方的随机元数据,这些元数据非常特定于管理文件的应用程序或操作系统。

有人问了一个问题,就是如何在 Qt 中获取文件的“MIME 类型”:

Find out the mime type and associated applications with Qt

如果你能做到这一点,你就可以看到你返回的字符串是否在 image/ 中。等级制度:

http://en.wikipedia.org/wiki/Internet_media_type#Type_image

但是没有 Qt 函数。所以你需要检查文件扩展名,或者如果你特别想知道给定的文件是否是 Qt 可以读取的图像格式,那么你可以使用 QImageReader::imageFormat() “嗅探”一个文件:

QByteArray imageFormat = QImageReader::imageFormat(fileName);

如果图像在 Qt 认为可加载的图像类型集中,它将返回与该格式对应的字节字符串。否则你会得到一个空字符串。当然,这并不是说未通过此测试意味着某些图像不是其他类型的图像。

至于确定某些东西是否是 Qt 可以播放的视频文件,如果您通过 MediaSource::type() 使用 Phonon,似乎有可能对视频文件进行类似的“嗅探”。并检查它是否不是 Phonon::MediaSource::Invalid .

关于qt - Qt中如何判断文件是照片还是视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7780300/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com