本页内容

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::Title0媒体标题
QMediaMetaData::Author1媒体作者
QMediaMetaData::Comment2评论
QMediaMetaData::Description3简要描述
QMediaMetaData::Genre4该媒体所属的类型
QMediaMetaData::Date5创建日期
QMediaMetaData::Language6媒体语言
QMediaMetaData::Publisher7媒体发布者信息
QMediaMetaData::Copyright8媒体版权信息
QMediaMetaData::Url9发布者的网站网址
QMediaMetaData::Duration10媒体播放时长
QMediaMetaData::MediaType11媒体类型
QMediaMetaData::FileFormat12文件格式
QMediaMetaData::AudioBitRate13 
QMediaMetaData::AudioCodec14 
QMediaMetaData::VideoBitRate15 
QMediaMetaData::VideoCodec16 
QMediaMetaData::VideoFrameRate17 
QMediaMetaData::AlbumTitle18专辑名称
QMediaMetaData::AlbumArtist19艺人信息
QMediaMetaData::ContributingArtist20 
QMediaMetaData::TrackNumber21 
QMediaMetaData::Composer22媒体作曲家信息
QMediaMetaData::LeadPerformer23 
QMediaMetaData::ThumbnailImage24媒体缩略图(自 6.12 起已弃用,为向后兼容,其值与 CoverArtImage 相同)
QMediaMetaData::CoverArtImageLeadPerformer + 2媒体封面图
QMediaMetaData::Orientation26 
QMediaMetaData::Resolution27 
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"

成员变量文档

QHash<QMediaMetaData::Key, QVariant> QMediaMetaData::data

该变量存储元数据。

注意:这是 该类的一个protected 成员。

相关的非成员

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.