本页内容

多媒体概述

Qt Multimedia 中的多媒体支持由 Qt Multimedia 模块提供。Qt Multimedia 模块提供了一套丰富的功能,使您能够轻松利用平台的多媒体功能,例如媒体播放和摄像头设备的使用。

功能

以下是您使用Qt Multimedia API 可以实现的一些功能:

  • 访问原始音频设备以进行输入和输出。
  • 播放低延迟音效。
  • 播放 3D 空间音频。
  • 在播放列表中播放媒体文件(例如压缩音频或视频文件)。
  • 录制音频并进行压缩。
  • 使用相机,包括取景器、图像拍摄和视频录制
  • 将音频媒体文件解码到内存中以供处理。

多媒体组件

Qt Multimedia API 分为三大主要组件。有关每个组件的具体信息,请参阅概述页面。您还可以参考一些示例。

多媒体示例

如需查看一些快速示例,请参阅下表:

多媒体安全注意事项

Qt Multimedia 在很大程度上依赖于媒体硬件及其驱动程序。因此,我们强烈建议使用可信的硬件(例如摄像头、音频设备、显卡及其他外设),并确保环境配置正确,以避免Qt Multimedia 出现意外行为,从而导致可能引发严重安全问题的状况。

Qt Multimedia 诸如QMediaPlayer 、QAudioDecoder 和QGStreamerVideoSource 等组件可能会处理不可信的媒体源。使用这些组件时,请遵循处理不可信数据的一般最佳实践。无论输入的媒体文件或流为何种类型,我们都致力于确保Qt Multimedia 的安全性。 然而,该模块高度依赖于 FFmpeg 和 GStreamer 等第三方库,由此形成了一条冗长的数据处理链。如果任何环节存在缺陷,整个链条都可能面临安全风险。请参阅“多媒体安全注意事项”页面,其中详细描述了与安全相关的数据流及漏洞利用风险。

限制

Qt Multimedia API 基于底层平台的多媒体框架构建。这意味着不同机器对各种编解码器或容器的支持情况可能有所不同。具体支持情况取决于最终用户已安装的组件。更多详细信息请参阅“支持的媒体格式”。

注意: Qt Multimedia API 依赖于QCoreApplication 提供的功能,且使用Qt Multimedia API 创建的多媒体对象仅可在该应用程序对象的生命周期内使用。因此,在访问任何Qt Multimedia API 之前,务必先创建QCoreApplication 、QGuiApplication 或QApplication 。如果重新创建了应用程序对象,请确保所有Qt Multimedia 对象也已重新创建。

与先前版本的差异

如果您之前在 Qt 5 中使用过Qt Multimedia ,请参阅《Qt Multimedia 的变更》以了解具体变更内容,以及在将代码移植到 Qt 6 时可能需要进行的调整。

参考文档

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