QMediaFormat Class
描述多媒体文件或数据流的编码格式。更多
头文件: | #include <QMediaFormat> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
qmake: | QT += multimedia |
公共类型
enum class | AudioCodec { WMA, AC3, AAC, ALAC, DolbyTrueHD, …, Unspecified } |
enum | ConversionMode { Encode, Decode } |
enum | FileFormat { WMA, AAC, Matroska, WMV, MP3, …, UnspecifiedFormat } |
enum | ResolveFlags { NoFlags, RequiresVideo } |
enum class | VideoCodec { VP8, MPEG2, MPEG1, WMV, H265, …, Unspecified } |
属性
- audioCodec : AudioCodec
- fileFormat : FileFormat
- videoCodec : VideoCodec
公共函数
QMediaFormat(QMediaFormat::FileFormat format = UnspecifiedFormat) | |
QMediaFormat(const QMediaFormat &other) | |
QMediaFormat(QMediaFormat &&other) | |
~QMediaFormat() | |
QMediaFormat::AudioCodec | audioCodec() const |
QMediaFormat::FileFormat | fileFormat() const |
bool | isSupported(QMediaFormat::ConversionMode mode) const |
QMimeType | mimeType() const |
void | resolveForEncoding(QMediaFormat::ResolveFlags flags) |
void | setAudioCodec(QMediaFormat::AudioCodec codec) |
void | setFileFormat(QMediaFormat::FileFormat f) |
void | setVideoCodec(QMediaFormat::VideoCodec codec) |
QList<QMediaFormat::AudioCodec> | supportedAudioCodecs(QMediaFormat::ConversionMode m) |
QList<QMediaFormat::FileFormat> | supportedFileFormats(QMediaFormat::ConversionMode m) |
QList<QMediaFormat::VideoCodec> | supportedVideoCodecs(QMediaFormat::ConversionMode m) |
void | swap(QMediaFormat &other) |
QMediaFormat::VideoCodec | videoCodec() const |
bool | operator!=(const QMediaFormat &other) const |
QMediaFormat & | operator=(QMediaFormat &&other) |
QMediaFormat & | operator=(const QMediaFormat &other) |
bool | operator==(const QMediaFormat &other) const |
静态公共成员
QString | audioCodecDescription(QMediaFormat::AudioCodec codec) |
QString | audioCodecName(QMediaFormat::AudioCodec codec) |
QString | fileFormatDescription(QMediaFormat::FileFormat fileFormat) |
QString | fileFormatName(QMediaFormat::FileFormat fileFormat) |
QString | videoCodecDescription(QMediaFormat::VideoCodec codec) |
QString | videoCodecName(QMediaFormat::VideoCodec codec) |
成员类型文档
enum class QMediaFormat::AudioCodec
描述多媒体文件或数据流中使用的音频编解码器。
常数 | 值 | 说明 |
---|---|---|
QMediaFormat::AudioCodec::WMA | 9 | Windows 媒体音频 |
QMediaFormat::AudioCodec::AC3 | 2 | 杜比数字 |
QMediaFormat::AudioCodec::AAC | 1 | 高级音频编码 |
QMediaFormat::AudioCodec::ALAC | 10 | 苹果无损音频编解码器 |
QMediaFormat::AudioCodec::DolbyTrueHD | 5 | 杜比 TrueHD |
QMediaFormat::AudioCodec::EAC3 | 3 | 杜比数字增强(EAC3) |
QMediaFormat::AudioCodec::MP3 | 0 | MPEG-1 Audio Layer III 或 MPEG-2 Audio Layer III |
QMediaFormat::AudioCodec::Wave | 8 | 波形音频文件格式 |
QMediaFormat::AudioCodec::Vorbis | 7 | Ogg Vorbis |
QMediaFormat::AudioCodec::FLAC | 4 | 免费无损音频编解码器 |
QMediaFormat::AudioCodec::Opus | 6 | Opus 音频格式 |
QMediaFormat::AudioCodec::Unspecified | -1 | 未指定编解码器 |
enum QMediaFormat::ConversionMode
在许多情况下,系统具有非对称功能,可解码的格式或编解码器往往多于可编码的格式或编解码器。该枚举描述了在检查是否支持某种文件格式或编解码器时所要求使用的转换模式。
常量 | 值 | 描述 |
---|---|---|
QMediaFormat::Encode | 0 | 用于检查是否可以编码某种文件格式或编解码器。 |
QMediaFormat::Decode | 1 | 用于检查是否可以解码某种文件格式或编解码器。 |
另请参阅 supportedFileFormats,supportedAudioCodecs, 和supportedVideoCodecs 。
enum QMediaFormat::FileFormat
描述多媒体文件或数据流中使用的容器格式。
常量 | 值 | 说明 |
---|---|---|
QMediaFormat::WMA | 9 | Windows 媒体音频 |
QMediaFormat::AAC | 8 | 高级音频编码 |
QMediaFormat::Matroska | 2 | Matroska (MKV) |
QMediaFormat::WMV | 0 | Windows 媒体视频 |
QMediaFormat::MP3 | 10 | MPEG-1 Audio Layer III 或 MPEG-2 Audio Layer III |
QMediaFormat::Wave | 12 | 波形音频文件格式 |
QMediaFormat::Ogg | 4 | 奥格 |
QMediaFormat::MPEG4 | 3 | MPEG-4 |
QMediaFormat::AVI | 1 | 音频视频交错 |
QMediaFormat::QuickTime | 5 | QuickTime |
QMediaFormat::WebM | 6 | WebM |
QMediaFormat::Mpeg4Audio | 7 | MPEG-4 第 3 部分或 MPEG-4 音频(正式名称为 ISO/IEC 14496-3) |
QMediaFormat::FLAC | 11 | 免费无损音频编解码器 |
QMediaFormat::UnspecifiedFormat | -1 | 格式未指定。 |
enum QMediaFormat::ResolveFlags
描述了解决QMediaRecorder 的合适格式的要求。
常数 | 值 | 说明 |
---|---|---|
QMediaFormat::NoFlags | 0 | 无要求 |
QMediaFormat::RequiresVideo | 1 | 需要视频编解码器 |
另请参见 resolveForEncoding().
enum class QMediaFormat::VideoCodec
描述多媒体文件或数据流中使用的视频编码。
常数 | 值 | 描述 |
---|---|---|
QMediaFormat::VideoCodec::VP8 | 5 | VP8 |
QMediaFormat::VideoCodec::MPEG2 | 1 | MPEG-2 |
QMediaFormat::VideoCodec::MPEG1 | 0 | MPEG-1 |
QMediaFormat::VideoCodec::WMV | 9 | Windows 媒体视频 |
QMediaFormat::VideoCodec::H265 | 4 | 高效视频编码 (HEVC) |
QMediaFormat::VideoCodec::H264 | 3 | 高级视频编码 |
QMediaFormat::VideoCodec::MPEG4 | 2 | MPEG-4 |
QMediaFormat::VideoCodec::AV1 | 7 | AOMedia 视频 1 |
QMediaFormat::VideoCodec::MotionJPEG | 10 | MotionJPEG |
QMediaFormat::VideoCodec::VP9 | 6 | VP9 |
QMediaFormat::VideoCodec::Theora | 8 | Theora |
QMediaFormat::VideoCodec::Unspecified | -1 | 未指定视频编解码器 |
属性文档
audioCodec : AudioCodec
该属性用于保存媒体的音频编解码器。
访问功能:
QMediaFormat::AudioCodec | audioCodec() const |
void | setAudioCodec(QMediaFormat::AudioCodec codec) |
另请参阅 QMediaFormat::AudioCodec 。
fileFormat : FileFormat
该属性用于保存媒体的文件(容器)格式。
访问功能:
QMediaFormat::FileFormat | fileFormat() const |
void | setFileFormat(QMediaFormat::FileFormat f) |
另请参阅 QMediaFormat::FileFormat 。
videoCodec : VideoCodec
此属性用于保存媒体的视频编解码器。
访问功能:
QMediaFormat::VideoCodec | videoCodec() const |
void | setVideoCodec(QMediaFormat::VideoCodec codec) |
另请参阅 QMediaFormat::VideoCodec 。
成员函数文档
QMediaFormat::QMediaFormat(QMediaFormat::FileFormat format = UnspecifiedFormat)
为format 构建一个 QMediaFormat 对象。
[noexcept]
QMediaFormat::QMediaFormat(const QMediaFormat &other)
通过从other 复制,构造一个 QMediaFormat 对象。
[noexcept]
QMediaFormat::QMediaFormat(QMediaFormat &&other)
从other 开始构建 QMediaFormat 对象。
[noexcept]
QMediaFormat::~QMediaFormat()
销毁QMediaFormat 对象。
QMediaFormat::AudioCodec QMediaFormat::audioCodec() const
返回此格式中使用的音频编解码器。
注: 属性 audioCodec 的获取函数。
另请参阅 setAudioCodec() 和QMediaFormat::AudioCodec 。
[static invokable]
QString QMediaFormat::audioCodecDescription(QMediaFormat::AudioCodec codec)
返回codec 的描述。
注: 可通过元对象系统和 QML 调用此函数。请参见Q_INVOKABLE 。
[static invokable]
QString QMediaFormat::audioCodecName(QMediaFormat::AudioCodec codec)
返回codec 的字符串名称。
注: 可通过元对象系统和 QML 调用此函数。请参见Q_INVOKABLE 。
[static invokable]
QString QMediaFormat::fileFormatDescription(QMediaFormat::FileFormat fileFormat)
返回fileFormat 的描述。
注: 可通过元对象系统和 QML 调用此函数。请参见Q_INVOKABLE 。
[static invokable]
QString QMediaFormat::fileFormatName(QMediaFormat::FileFormat fileFormat)
返回fileFormat 的字符串名称。
注: 可通过元对象系统和 QML 调用此函数。请参见Q_INVOKABLE 。
[invokable]
bool QMediaFormat::isSupported(QMediaFormat::ConversionMode mode) const
如果Qt Multimedia 可以编码或解码此格式,则返回true
,具体取决于mode 。
注: 可通过元对象系统和 QML 调用此函数。请参见Q_INVOKABLE 。
QMimeType QMediaFormat::mimeType() const
返回此媒体格式中使用的文件格式的MIME 类型。
void QMediaFormat::resolveForEncoding(QMediaFormat::ResolveFlags flags)
将基于flags 的格式转换为QMediaRecorder 支持的格式。
此方法会尽量为未指定的设置找到最佳匹配。记录仪不支持的设置将被修改为支持的最匹配设置。
解决时,优先顺序如下:
- 文件格式
- 视频编解码器
- 音频编解码器
void QMediaFormat::setAudioCodec(QMediaFormat::AudioCodec codec)
将音频编解码器设置为codec 。
注: 属性audioCodec 的设置函数。
另请参阅 audioCodec() 和QMediaFormat::AudioCodec 。
void QMediaFormat::setVideoCodec(QMediaFormat::VideoCodec codec)
将视频编解码器设置为codec 。
注: 属性videoCodec 的设置函数。
另请参阅 videoCodec() 和QMediaFormat::VideoCodec 。
[invokable]
QList<QMediaFormat::AudioCodec> QMediaFormat::supportedAudioCodecs(QMediaFormat::ConversionMode m)
返回所选文件格式和视频编解码器的音频编解码器列表 (m)。
要获取所有支持的音频编解码器,请在默认构建的QMediaFormat 上运行此查询。
注: 可通过元对象系统和 QML 调用此函数。请参见Q_INVOKABLE 。
另请参见 QMediaFormat::ConversionMode 。
[invokable]
QList<QMediaFormat::FileFormat> QMediaFormat::supportedFileFormats(QMediaFormat::ConversionMode m)
返回m 所示音视频编解码器的文件格式列表。
要获取所有支持的文件格式,请在默认构建的QMediaFormat 上运行此查询。
注: 可通过元对象系统和 QML 调用此函数。请参见Q_INVOKABLE 。
另请参见 QMediaFormat::ConversionMode 。
[invokable]
QList<QMediaFormat::VideoCodec> QMediaFormat::supportedVideoCodecs(QMediaFormat::ConversionMode m)
返回所选文件格式和音频编解码器的视频编解码器列表 (m)。
要获得所有支持的视频编解码器,请在默认构造的 MediaFormat 上运行此查询。
注: 可通过元对象系统和 QML 调用此函数。请参见Q_INVOKABLE 。
另请参阅 QMediaFormat::ConversionMode 。
[noexcept]
void QMediaFormat::swap(QMediaFormat &other)
将介质格式与other 互换。
QMediaFormat::VideoCodec QMediaFormat::videoCodec() const
返回此格式中使用的视频编解码器。
注: 属性 videoCodec 的获取函数。
另请参阅 setVideoCodec() 和QMediaFormat::VideoCodec 。
[static invokable]
QString QMediaFormat::videoCodecDescription(QMediaFormat::VideoCodec codec)
返回codec 的描述。
注: 可通过元对象系统和 QML 调用此函数。请参见Q_INVOKABLE 。
[static invokable]
QString QMediaFormat::videoCodecName(QMediaFormat::VideoCodec codec)
返回codec 的字符串名称。
注: 可通过元对象系统和 QML 调用此函数。请参见Q_INVOKABLE 。
bool QMediaFormat::operator!=(const QMediaFormat &other) const
如果other 不等于当前媒体格式,则返回true
,否则返回false
。
[noexcept]
QMediaFormat &QMediaFormat::operator=(QMediaFormat &&other)
将other 移入QMediaFormat 对象。
[noexcept]
QMediaFormat &QMediaFormat::operator=(const QMediaFormat &other)
将other 复制到此QMediaFormat 对象中。
bool QMediaFormat::operator==(const QMediaFormat &other) const
如果other 等于当前媒体格式,则返回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.