QMediaFormat 类

描述多媒体文件或流的编码格式。 更多...

头文件 #include <QMediaFormat>
CMakefind_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmakeQT += multimedia

公共类型

枚举类AudioCodec { WMA, AC3, AAC, ALAC, DolbyTrueHD, …, Unspecified }
枚举ConversionMode { Encode, Decode }
枚举FileFormat { WMA, AAC, Matroska, WMV, MP3, …, UnspecifiedFormat }
枚举ResolveFlags { NoFlags, RequiresVideo }
枚举类VideoCodec { VP8, MPEG2, MPEG1, WMV, H265, …, Unspecified }

属性

公共函数

QMediaFormat(QMediaFormat::FileFormat format = UnspecifiedFormat)
QMediaFormat(const QMediaFormat &other)
QMediaFormat(QMediaFormat &&other)
~QMediaFormat()
QMediaFormat::AudioCodecaudioCodec() const
QMediaFormat::FileFormatfileFormat() const
boolisSupported(QMediaFormat::ConversionMode mode) const
QMimeTypemimeType() const
voidresolveForEncoding(QMediaFormat::ResolveFlags flags)
voidsetAudioCodec(QMediaFormat::AudioCodec codec)
voidsetFileFormat(QMediaFormat::FileFormat f)
voidsetVideoCodec(QMediaFormat::VideoCodec codec)
QList<QMediaFormat::AudioCodec>supportedAudioCodecs(QMediaFormat::ConversionMode m)
QList<QMediaFormat::FileFormat>supportedFileFormats(QMediaFormat::ConversionMode m)
QList<QMediaFormat::VideoCodec>supportedVideoCodecs(QMediaFormat::ConversionMode m)
voidswap(QMediaFormat &other)
QMediaFormat::VideoCodecvideoCodec() const
booloperator!=(const QMediaFormat &other) const
QMediaFormat &赋值运算符=(const QMediaFormat &other)
QMediaFormat &赋值运算符=(QMediaFormat &&other)
bool等于运算符==(const QMediaFormat &other) const

静态公共成员

QStringaudioCodecDescription(QMediaFormat::AudioCodec codec)
QStringaudioCodecName(QMediaFormat::AudioCodec codec)
QStringfileFormatDescription(QMediaFormat::FileFormat fileFormat)
QStringfileFormatName(QMediaFormat::FileFormat fileFormat)
QStringvideoCodecDescription(QMediaFormat::VideoCodec codec)
QStringvideoCodecName(QMediaFormat::VideoCodec codec)

详细描述

QMediaFormat用于描述多媒体文件或流的编码格式。

您可以使用QMediaFormat来检查某个媒体格式是否可用于编码或解码。

成员类型文档

枚举类QMediaFormat::AudioCodec

描述多媒体文件或流中使用的音频编解码器。

常量描述
QMediaFormat::AudioCodec::WMA9Windows Media Audio
QMediaFormat::AudioCodec::AC32Dolby Digital
QMediaFormat::AudioCodec::AAC1高级音频编解码
QMediaFormat::AudioCodec::ALAC10Apple无损音频编解码器
QMediaFormat::AudioCodec::DolbyTrueHD5Dolby TrueHD
QMediaFormat::AudioCodec::EAC33Dolby Digital Plus (EAC3)
QMediaFormat::AudioCodec::MP30MPEG-1 Audio Layer III或MPEG-2 Audio Layer III
QMediaFormat::AudioCodec::Wave8波形音频文件格式
QMediaFormat::AudioCodec::Vorbis7Ogg Vorbis
QMediaFormat::AudioCodec::FLAC4无损音频编解码器
QMediaFormat::AudioCodec::Opus6Opus音频格式
QMediaFormat::AudioCodec::Unspecified-1未指定的编解码器

枚举 QMediaFormat::ConversionMode

在许多情况下,系统的功能不对称,通常可以解码更多格式或编解码器,但能编码的较少。此枚举描述了在检查是否存在对某个文件格式或编解码器的支持时请求的转换模式。

常量描述
QMediaFormat::Encode0用于检查某个文件格式或编解码器是否可以编码。
QMediaFormat::Decode1用于检查某个文件格式或编解码器是否可以解码。

另请参阅受支持的文件格式受支持的音频编解码器受支持的视频编解码器

枚举 QMediaFormat::FileFormat

描述多媒体文件或流中使用的容器格式。

常量描述
QMediaFormat::WMA9Windows Media Audio
QMediaFormat::AAC8高级音频编解码
QMediaFormat::Matroska2Matroska (MKV)
QMediaFormat::WMV0Windows Media Video
QMediaFormat::MP310MPEG-1 Audio Layer III或MPEG-2 Audio Layer III
QMediaFormat::Wave12波形音频文件格式
QMediaFormat::Ogg4Ogg
QMediaFormat::MPEG43MPEG-4
QMediaFormat::AVI1音频视频交错
QMediaFormat::QuickTime5QuickTime
QMediaFormat::WebM6WebM
QMediaFormat::Mpeg4Audio7MPEG-4 Part 3或MPEG-4 Audio(正式名称为ISO/IEC 14496-3)
QMediaFormat::FLAC11无损音频编解码器
QMediaFormat::UnspecifiedFormat-1格式未指定。

枚举 QMediaFormat::ResolveFlags

描述为QMediaRecorder解析适当的格式时的要求。

常量描述
QMediaFormat::NoFlags0无要求
QMediaFormat:: RequiresVideo1需要视频编解码器

参见resolveForEncoding().

枚举类 QMediaFormat::VideoCodec

描述多媒体文件或流中使用的视频编解码器。

常量描述
QMediaFormat::VideoCodec::VP85VP8
QMediaFormat::VideoCodec::MPEG21MPEG-2
QMediaFormat::VideoCodec::MPEG10MPEG-1
QMediaFormat::VideoCodec::WMV9Windows Media Video
QMediaFormat::VideoCodec::H2654高效视频编码 (HEVC)
QMediaFormat::VideoCodec::H2643高级视频编码
QMediaFormat::VideoCodec::MPEG42MPEG-4
QMediaFormat::VideoCodec::AV17AOMedia 视频编码 1
QMediaFormat::VideoCodec::MotionJPEG10MotionJPEG
QMediaFormat::VideoCodec::VP96VP9
QMediaFormat::VideoCodec::Theora8Theora
QMediaFormat::VideoCodec::Unspecified-1未指定视频编解码器

属性文档

audioCodec : AudioCodec

此属性保存媒体的音频编解码器。

访问函数

QMediaFormat::AudioCodecaudioCodec() const
voidsetAudioCodec(QMediaFormat::AudioCodec codec)

参见QMediaFormat::AudioCodec.

fileFormat : FileFormat

此属性保存媒体的文件(容器)格式。

访问函数

QMediaFormat::FileFormatfileFormat() const
voidsetFileFormat(QMediaFormat::FileFormat f)

参见QMediaFormat::FileFormat.

videoCodec : VideoCodec

此属性保存媒体的视频编解码器。

访问函数

QMediaFormat::VideoCodecvideoCodec() const
voidsetVideoCodec(QMediaFormat::VideoCodec codec)

参见QMediaFormat::VideoCodec.

成员函数文档

QMediaFormat::QMediaFormat(QMediaFormat::FileFormat format = UnspecifiedFormat)

format 构建一个 QMediaFormat 对象。

[noexcept] QMediaFormat::QMediaFormat(const QMediaFormat &other)

其它 复制一个 QMediaFormat 对象。

[noexcept] QMediaFormat::QMediaFormat(QMediaFormat &&other)

通过移动 其它 构建一个 QMediaFormat 对象。

[noexcept] QMediaFormat::~QMediaFormat()

销毁 QMediaFormat 对象。

QMediaFormat::AudioCodec QMediaFormat::audioCodec() const

返回在此格式中使用的音频编解码器。

注意: audioCodec 属性的获取器函数。

参见setAudioCodec() 和 QMediaFormat::AudioCodec.

[静态可调用] QString QMediaFormat::audioCodecDescription(QMediaFormat::AudioCodec codec)

返回关于codec的描述。

注意:该函数可以通过元对象系统从QML调用。请参阅Q_INVOKABLE

[静态可调用] QString QMediaFormat::audioCodecName(QMediaFormat::AudioCodec codec)

返回codec的基于字符串的名称。

注意:该函数可以通过元对象系统从QML调用。请参阅Q_INVOKABLE

[静态可调用] QString QMediaFormat::fileFormatDescription(QMediaFormat::FileFormat fileFormat)

返回关于fileFormat的描述。

注意:该函数可以通过元对象系统从QML调用。请参阅Q_INVOKABLE

[静态可调用] QString QMediaFormat::fileFormatName(QMediaFormat::FileFormat fileFormat)

返回fileFormat的基于字符串的名称。

注意:该函数可以通过元对象系统从QML调用。请参阅Q_INVOKABLE

[可调用] bool QMediaFormat::isSupported(QMediaFormat::ConversionMode mode) const

如果Qt多媒体可以根据mode进行编码或解码此格式,则返回true

注意:该函数可以通过元对象系统从QML调用。请参阅Q_INVOKABLE

QMimeType QMediaFormat::mimeType() const

返回在此媒体格式中使用的文件格式的MIME类型

void QMediaFormat::resolveForEncoding(QMediaFormat::ResolveFlags flags)

根据flags解决格式,转为由QMediaRecorder支持的格式。

此方法尝试找到最佳匹配的未指定设置。不支持录制器的设置将修改为最接近的支持设置。

当解决时,优先级按以下顺序给出

  1. 文件格式
  2. 视频编解码器
  3. 音频编解码器

void QMediaFormat::setAudioCodec(QMediaFormat::AudioCodec codec)

将音频编解码器设置为codec

注意:该函数是audioCodec属性的设置器函数。

见:audioCodec()以及QMediaFormat::AudioCodec

void QMediaFormat::setVideoCodec(QMediaFormat::VideoCodec codec)

将视频编解码器设置为codec

注意:该函数是videoCodec属性的设置器函数。

见:videoCodec()以及QMediaFormat::VideoCodec

[可调用] QList<QMediaFormat::AudioCodec> QMediaFormat::supportedAudioCodecs(QMediaFormat::ConversionMode m)

返回所选文件格式和视频编解码器(m)支持的音频编解码器列表。

要获取所有支持的音频编解码器,请在默认构造的 QMediaFormat 上运行此查询。

注意:该函数可以通过元对象系统从QML调用。请参阅Q_INVOKABLE

另请参阅QMediaFormat::ConversionMode.

[可调用] QList<QMediaFormat::FileFormat> QMediaFormat::supportedFileFormats(QMediaFormat::ConversionMode m)

返回由 m 指示的音频和视频编解码器的文件格式列表。

要获取所有支持的文件格式,请在默认构造的 QMediaFormat 上运行此查询。

注意:该函数可以通过元对象系统从QML调用。请参阅Q_INVOKABLE

另请参阅QMediaFormat::ConversionMode.

[可调用] QList<QMediaFormat::VideoCodec> QMediaFormat::supportedVideoCodecs(QMediaFormat::ConversionMode m)

返回所选文件格式和音频编解码器(m)支持的音频编解码器列表。

要获取所有支持的音频编解码器,请在默认构造的 QMediaFormat 上运行此查询。

注意:该函数可以通过元对象系统从QML调用。请参阅Q_INVOKABLE

另请参阅QMediaFormat::ConversionMode.

[noexcept] void QMediaFormat::swap(QMediaFormat &other)

other 交换媒体格式。

QMediaFormat::VideoCodec QMediaFormat::videoCodec() const

返回此格式使用的视频编解码器。

注意: VideoCodec 属性的访问器函数。

另请参阅设置视频编解码器QMediaFormat::VideoCodec.

[静态可调用] QString QMediaFormat::videoCodecDescription(QMediaFormat::VideoCodec codec)

返回关于codec的描述。

注意:该函数可以通过元对象系统从QML调用。请参阅Q_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=(const QMediaFormat &other)

other 复制到当前 QMediaFormat 对象中。

[noexcept] QMediaFormat &QMediaFormat::operator=(QMediaFormat &&other)

other 移动到当前 QMediaFormat 对象中。

bool QMediaFormat::operator==(const QMediaFormat &other) const

如果其他等于当前媒体格式,则返回 true,否则返回 false

© 2024 The Qt Company Ltd. 本文档中包含的贡献属其各自所有者的版权。本文档依据由自由软件基金会发布的GNU自由文档许可证版本1.3提供。Qt及其相关标志是芬兰及/或其他国家的The Qt Company Ltd.的商标。所有其他商标均为各自所有者的财产。