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::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 | 出版商网站 URL |
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 | 媒体缩略图(如果已嵌入元数据) |
QMediaMetaData::CoverArtImage | 25 | 媒体封面 |
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)
返回用于存储 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"
相关非成员
bool operator!=(const QMediaMetaData &a, const QMediaMetaData &b)
比较两个元数据对象a 和b ,如果相同则返回false
,如果不同则返回true
。
bool operator==(const QMediaMetaData &a, const QMediaMetaData &b)
比较两个元数据对象a 和b ,如果相同则返回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.