QMediaMetaData Class
提供媒体文件的元数据。更多...
| 标题: | #include <QMediaMetaData> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
| qmake: | QT += multimedia |
公共类型
| enum | Key { Title, Author, Comment, Description, Genre, …, HasHdrContent } |
公共函数
(since 6.9) auto | asKeyValueRange() const |
| void | clear() |
| void | insert(QMediaMetaData::Key k, const QVariant &value) |
| bool | isEmpty() const |
| QList<QMediaMetaData::Key> | keys() const |
| void | remove(QMediaMetaData::Key k) |
| QString | stringValue(QMediaMetaData::Key key) const |
| QVariant | value(QMediaMetaData::Key key) const |
| QVariant & | operator[](QMediaMetaData::Key k) |
静态公共成员
| QString | metaDataKeyToString(QMediaMetaData::Key key) |
受保护的变量
| QHash<QMediaMetaData::Key, QVariant> | data |
静态受保护成员
| QMetaType | keyType(QMediaMetaData::Key key) |
相关的非成员
| bool | operator!=(const QMediaMetaData &a, const QMediaMetaData &b) |
| bool | operator==(const QMediaMetaData &a, const QMediaMetaData &b) |
详细说明
注意:并非 所有平台都支持所有标识符。
| 常见属性 | ||
|---|---|---|
| 值 | 描述 | 类型 |
| 标题 | 媒体的标题。 | QString |
| 作者 | 该媒体的作者。 | QStringList |
| 评论 | 用户对该媒体的评论。 | QString |
| 描述 | 对该媒体的描述。 | QString |
| 类型 | 该媒体的类型。 | QStringList |
| 日期 | 媒体文件的录制日期和时间,或媒体流的编码日期和时间。 | QDateTime. |
| 语言 | 媒体的语言。 | QLocale::Language |
| 发布者 | 媒体的发布者。 | QString |
| 版权 | 该媒体的版权声明。 | QString |
| URL | 指向该媒体来源的URL。 | QUrl |
| 媒体属性 | ||
| MediaType | 媒体的类型(音频、视频等)。 | QString |
| FileFormat | 媒体的文件格式。 | QMediaFormat::FileFormat |
| 时长 | 媒体的时长(以毫秒为单位)。 | qint64 |
| 音频属性 | ||
| AudioBitRate | 媒体音频流的比特率,单位为比特/秒。 | int |
| AudioCodec | 媒体音频流的编解码器。 | QMediaFormat::AudioCodec |
| 视频属性 | ||
| VideoFrameRate | 媒体视频流的帧率。 | qreal |
| VideoBitRate | 媒体视频流的比特率,单位为比特/秒。 | int |
| VideoCodec | 媒体视频流的编解码器。 | QMediaFormat::VideoCodec |
| HasHdrContent | 如果视频旨在用于 HDR 显示,则为 true(仅限 FFmpeg 和 Darwin 媒体后端)。 | bool |
| 音乐属性 | ||
| AlbumTitle | 该媒体所属专辑的名称。 | QString |
| AlbumArtist | 该媒体所属专辑的主要艺术家。 | QString |
| ContributingArtist | 参与该媒体制作的艺术家。 | QStringList |
| TrackNumber | 该媒体的曲目编号。 | int |
| 作曲家 | 该媒体的作曲家。 | QStringList |
| LeadPerformer | 媒体中的首席表演者。 | QStringList |
| CoverArtImage | 嵌入的封面图片。 | QImage |
| ThumbnailImage | 嵌入的缩略图。(自 6.12 起已弃用,请改用CoverArtImage ) | QImage |
| 图像和视频属性 | ||
| Orientation | 图像或视频的旋转角度。 | int |
| 分辨率 | 图像或视频的尺寸。 | QSize |
成员类型文档
enum QMediaMetaData::Key
可以使用以下元数据键:
| 常量 | 值 | 描述 |
|---|---|---|
QMediaMetaData::Title | 0 | 媒体标题 |
QMediaMetaData::Author | 1 | 媒体作者 |
QMediaMetaData::Comment | 2 | 评论 |
QMediaMetaData::Description | 3 | 简要描述 |
QMediaMetaData::Genre | 4 | 该媒体所属的类型 |
QMediaMetaData::Date | 5 | 创建日期 |
QMediaMetaData::Language | 6 | 媒体语言 |
QMediaMetaData::Publisher | 7 | 媒体发布者信息 |
QMediaMetaData::Copyright | 8 | 媒体版权信息 |
QMediaMetaData::Url | 9 | 发布者的网站网址 |
QMediaMetaData::Duration | 10 | 媒体播放时长 |
QMediaMetaData::MediaType | 11 | 媒体类型 |
QMediaMetaData::FileFormat | 12 | 文件格式 |
QMediaMetaData::AudioBitRate | 13 | |
QMediaMetaData::AudioCodec | 14 | |
QMediaMetaData::VideoBitRate | 15 | |
QMediaMetaData::VideoCodec | 16 | |
QMediaMetaData::VideoFrameRate | 17 | |
QMediaMetaData::AlbumTitle | 18 | 专辑名称 |
QMediaMetaData::AlbumArtist | 19 | 艺人信息 |
QMediaMetaData::ContributingArtist | 20 | |
QMediaMetaData::TrackNumber | 21 | |
QMediaMetaData::Composer | 22 | 媒体作曲家信息 |
QMediaMetaData::LeadPerformer | 23 | |
QMediaMetaData::ThumbnailImage | 24 | 媒体缩略图(自 6.12 起已弃用,为向后兼容,其值与 CoverArtImage 相同) |
QMediaMetaData::CoverArtImage | LeadPerformer + 2 | 媒体封面图 |
QMediaMetaData::Orientation | 26 | |
QMediaMetaData::Resolution | 27 | |
QMediaMetaData::HasHdrContent (since Qt 6.8) | 28 | 视频可能包含HDR内容(只读,仅限FFmpeg和Darwin媒体后端) |
成员函数文档
[since 6.9] auto QMediaMetaData::asKeyValueRange() const
返回一个范围对象,允许以键值对的形式遍历此哈希表。
该函数于 Qt 6.9 中引入。
[invokable] void QMediaMetaData::clear()
从元数据对象中删除所有数据。
注意:此 函数可通过元对象系统和 QML 调用。请参阅Q_INVOKABLE 。
[invokable] void QMediaMetaData::insert(QMediaMetaData::Key k, const QVariant &value)
将一个value 插入到Key中:k 。
注意:该 函数可通过元对象系统和 QML 调用。参见Q_INVOKABLE 。
[invokable] bool QMediaMetaData::isEmpty() const
如果元数据中不包含任何项,则返回true ;否则返回false 。
注意: 可通过元对象系统和 QML 调用此 函数。参见Q_INVOKABLE 。
[static protected] QMetaType QMediaMetaData::keyType(QMediaMetaData::Key key)
返回用于存储键key 数据的元数据类型。
[invokable] QList<QMediaMetaData::Key> QMediaMetaData::keys() const
返回一个包含 QMediaMetaData::Keys 的QList 。
注意:此 函数可通过元对象系统以及从 QML 中调用。参见Q_INVOKABLE 。
[static invokable] QString QMediaMetaData::metaDataKeyToString(QMediaMetaData::Key key)
返回key 的字符串表示形式,可在向用户展示元数据时使用。
注意: 可通过元对象系统和 QML 调用此 函数。参见Q_INVOKABLE 。
[invokable] void QMediaMetaData::remove(QMediaMetaData::Key k)
从键中移除元数据:k 。
注意:此 函数可通过元对象系统和 QML 调用。请参阅Q_INVOKABLE 。
[invokable] QString QMediaMetaData::stringValue(QMediaMetaData::Key key) const
返回键key 对应的元数据,格式为QString 。
此功能主要旨在简化向用户展示元数据的过程。
注意:此 函数可通过元对象系统以及从 QML 中调用。参见Q_INVOKABLE 。
[invokable] QVariant QMediaMetaData::value(QMediaMetaData::Key key) const
返回键key 的元数据值;如果该键没有元数据,则返回QVariant 。
注意: 可通过元对象系统或从 QML 调用此 函数。参见Q_INVOKABLE 。
QVariant &QMediaMetaData::operator[](QMediaMetaData::Key k)
返回存储在键k 下的数据。
QMediaMetaData rockBallad1;
rockBalad[QMediaMetaData::Genre]="Rock"相关的非成员
bool operator!=(const QMediaMetaData &a, const QMediaMetaData &b)
比较两个元数据对象a 和b ,如果它们相同,则返回false ;如果不同,则返回true 。
bool operator==(const QMediaMetaData &a, const QMediaMetaData &b)
比较两个元数据对象a 和b ,如果它们完全相同,则返回true ;如果存在差异,则返回false 。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.