QMediaFormat 类
描述多媒体文件或流的编码格式。 更多...
头文件 | #include <QMediaFormat> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
qmake | QT += 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 } |
属性
- 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 & | 赋值运算符=(const QMediaFormat &other) |
QMediaFormat & | 赋值运算符=(QMediaFormat &&other) |
bool | 等于运算符==(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) |
成员类型文档
枚举类QMediaFormat::AudioCodec
描述多媒体文件或流中使用的音频编解码器。
常量 | 值 | 描述 |
---|---|---|
QMediaFormat::AudioCodec::WMA | 9 | Windows Media Audio |
QMediaFormat::AudioCodec::AC3 | 2 | Dolby Digital |
QMediaFormat::AudioCodec::AAC | 1 | 高级音频编解码 |
QMediaFormat::AudioCodec::ALAC | 10 | Apple无损音频编解码器 |
QMediaFormat::AudioCodec::DolbyTrueHD | 5 | Dolby TrueHD |
QMediaFormat::AudioCodec::EAC3 | 3 | Dolby Digital Plus (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 | 未指定的编解码器 |
枚举 QMediaFormat::ConversionMode
在许多情况下,系统的功能不对称,通常可以解码更多格式或编解码器,但能编码的较少。此枚举描述了在检查是否存在对某个文件格式或编解码器的支持时请求的转换模式。
常量 | 值 | 描述 |
---|---|---|
QMediaFormat::Encode | 0 | 用于检查某个文件格式或编解码器是否可以编码。 |
QMediaFormat::Decode | 1 | 用于检查某个文件格式或编解码器是否可以解码。 |
另请参阅受支持的文件格式,受支持的音频编解码器和受支持的视频编解码器。
枚举 QMediaFormat::FileFormat
描述多媒体文件或流中使用的容器格式。
常量 | 值 | 描述 |
---|---|---|
QMediaFormat::WMA | 9 | Windows Media Audio |
QMediaFormat::AAC | 8 | 高级音频编解码 |
QMediaFormat::Matroska | 2 | Matroska (MKV) |
QMediaFormat::WMV | 0 | Windows Media Video |
QMediaFormat::MP3 | 10 | MPEG-1 Audio Layer III或MPEG-2 Audio Layer III |
QMediaFormat::Wave | 12 | 波形音频文件格式 |
QMediaFormat::Ogg | 4 | Ogg |
QMediaFormat::MPEG4 | 3 | MPEG-4 |
QMediaFormat::AVI | 1 | 音频视频交错 |
QMediaFormat::QuickTime | 5 | QuickTime |
QMediaFormat::WebM | 6 | WebM |
QMediaFormat::Mpeg4Audio | 7 | MPEG-4 Part 3或MPEG-4 Audio(正式名称为ISO/IEC 14496-3) |
QMediaFormat::FLAC | 11 | 无损音频编解码器 |
QMediaFormat::UnspecifiedFormat | -1 | 格式未指定。 |
枚举 QMediaFormat::ResolveFlags
描述为QMediaRecorder解析适当的格式时的要求。
常量 | 值 | 描述 |
---|---|---|
QMediaFormat::NoFlags | 0 | 无要求 |
QMediaFormat:: RequiresVideo | 1 | 需要视频编解码器 |
参见resolveForEncoding().
枚举类 QMediaFormat::VideoCodec
描述多媒体文件或流中使用的视频编解码器。
常量 | 值 | 描述 |
---|---|---|
QMediaFormat::VideoCodec::VP8 | 5 | VP8 |
QMediaFormat::VideoCodec::MPEG2 | 1 | MPEG-2 |
QMediaFormat::VideoCodec::MPEG1 | 0 | MPEG-1 |
QMediaFormat::VideoCodec::WMV | 9 | Windows Media Video |
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) |
fileFormat : FileFormat
此属性保存媒体的文件(容器)格式。
访问函数
QMediaFormat::FileFormat | fileFormat() const |
void | setFileFormat(QMediaFormat::FileFormat f) |
videoCodec : VideoCodec
此属性保存媒体的视频编解码器。
访问函数
QMediaFormat::VideoCodec | videoCodec() const |
void | setVideoCodec(QMediaFormat::VideoCodec codec) |
成员函数文档
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支持的格式。
此方法尝试找到最佳匹配的未指定设置。不支持录制器的设置将修改为最接近的支持设置。
当解决时,优先级按以下顺序给出
- 文件格式
- 视频编解码器
- 音频编解码器
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.的商标。所有其他商标均为各自所有者的财产。