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。QUrl
媒体属性
MediaType媒体类型(音频、视频等)。QString
FileFormat媒体的文件格式。QMediaFormat::FileFormat
持续时间媒体的持续时间(以毫秒为单位)。qint64
音频属性
AudioBitRate媒体音频流的比特率(比特/秒)。int
AudioCodec媒体音频流的编解码器。QMediaFormat::AudioCodec
视频属性
VideoFrameRate媒体视频流的帧频。实数
VideoBitRate媒体视频流的比特率(比特/秒)。媒体视频流的编解码器。
VideoCodec媒体视频流的编解码器。QMediaFormat::VideoCodec
HasHdrContent如果视频用于 HDR 显示,则为 true(仅限 FFmpeg 和 Darwin 媒体后端)。bool
音乐属性
AlbumTitle媒体所属专辑的标题。QString
AlbumArtist媒体所属专辑的主要艺术家。QString
ContributingArtist参与媒体的艺术家。QStringList
TrackNumber媒体的音轨编号。
作曲家媒体的作曲家。QStringList
LeadPerformer媒体中的主要表演者。QStringList
ThumbnailImage嵌入的缩略图(如果在元数据中存在)。QImage
CoverArtImage嵌入的封面图片。QImage
图像和视频属性
方向图像或视频的旋转角度。分辨率
分辨率图像或视频的尺寸。QSize

成员类型文档

enum QMediaMetaData::Key

可以使用以下元数据键:

常量描述
QMediaMetaData::Title0媒体标题
QMediaMetaData::Author1媒体作者
QMediaMetaData::Comment2评论
QMediaMetaData::Description3简要说明
QMediaMetaData::Genre4媒体所属类型
QMediaMetaData::Date5创建日期
QMediaMetaData::Language6媒体语言
QMediaMetaData::Publisher7媒体出版商信息
QMediaMetaData::Copyright8媒体版权信息
QMediaMetaData::Url9出版商网站 URL
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媒体缩略图(如果已嵌入元数据)
QMediaMetaData::CoverArtImage25媒体封面
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)

返回用于存储 Keykey 数据的元类型。

[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)

删除 Key 中的元数据:k

注: 可通过元对象系统和 QML 调用该函数。请参见Q_INVOKABLE

[invokable] QString QMediaMetaData::stringValue(QMediaMetaData::Key key) const

QString 的形式返回关键字key 的元数据。

这主要是为了简化向用户展示元数据的过程。

注: 可通过元对象系统和 QML 调用此函数。请参阅Q_INVOKABLE

[invokable] QVariant QMediaMetaData::value(QMediaMetaData::Key key) const

Returns the meta data value for Keykey, or a nullQVariant if no meta data for the key is available.

注: 可通过元对象系统和 QML 调用此函数。请参阅Q_INVOKABLE

QVariant &QMediaMetaData::operator[](QMediaMetaData::Key k)

返回存储在 Keyk 中的数据。

QMediaMetaData rockBallad1;
rockBalad[QMediaMetaData::Genre]="Rock"

成员变量文档

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

该变量保存元数据。

注意: 这是其类的protected 成员。

相关非成员

bool operator!=(const QMediaMetaData &a, const QMediaMetaData &b)

比较两个元数据对象ab ,如果相同则返回false ,如果不同则返回true

bool operator==(const QMediaMetaData &a, const QMediaMetaData &b)

比较两个元数据对象ab ,如果相同则返回true ,如果不同则返回false

© 2025 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.