QT多媒体开发(一):概述

Qt Multimedia 模块为多媒体编程提供支持。多媒体编程实现的功能主要包括播放音频和视频文件,通过麦克风录制音频,通过摄像头拍照和录像等。
QT6 中多媒体模块相比QT5变化较大,所以用QT6编译 QT5写的多媒体 程序基本无法通过。

Qt 5 多媒体模块使用的是基于插件的结构,不同的前端(frontend)使用不 同的插件,要实现一个完整的多媒体后端(backend)需要至少 4 个插件,而且后端的 API 对用户开放。
Qt 6 多媒体模块完全放弃了基于插件的基础结构,它只有一个后端,后端只与操作系统有关(Linux

上是 GStreamer,Windows 上是 WMF,macOS 和 iOS 上是 AVFoundation,Android 上是Android 多 媒体 API), 且后端对用户是隐藏的,这样便于对后端进行修改和扩展。用户通过统一的前端 API 编程,在编译时就确定使用的后端,实现了真正的跨平台。
使用 Qt 6 多媒体模块可以实现如下功能。

• 访问原始音频设备并进行输入或输出。

• 播放低延迟的音效文件,如 WAV 音效文件。

• 播放压缩的音频和视频文件,如 MP3、MP4、WMV 等格式的文件。

• 录制音频并进行压缩,生成 MP3、WMA 等格式的文件。

• 使用摄像头进行预览、拍照和录像。

• 将音频文件解压到内存中用于处理。

Qt 6 多媒体模块包含两个子模块:Qt Multimedia 模块提供了多媒体编程用到的大部分类;Qt Multimedia Widgets 模块提供了多媒体编程中用到的界面组件类。要在项目中使用这两个模块,需要在项目配置文件(.pro 文件)中加入如下语句:

cpp 复制代码
QT += multimedia 
QT += multimediawidgets

在头文件中使用include包含即可

cpp 复制代码
#include <QtMultimedia> 
#include <QtMultimediaWidgets>

Qt 6 多媒体模块中一些主要的 C++类的功能如下表所示:

使用 Qt 多媒体模块提供的这些类可以实现各种应用,下表是多媒体典型应用功能和用到的类:

利用 Qt 多媒体模块提供的各种类,可以实现一般的音频、视频的输入和输出,这在一些实际

应用中是很实用的,例如,语音识别需要录制音频并对原始音频数据进行处理,车牌自动识别需

要先拍照然后进行图像处理等。

(后续章节将会介绍一些简单的音视频播放和录制)

参考

QT6 C++ 开发指南

相关推荐
结衣结衣.1 小时前
【Qt】自定义信号和槽函数
开发语言·c++·qt·c++11
EasyCVR1 小时前
EasyRTC嵌入式音视频通话SDK:基于ICE与STUN/TURN的实时音视频通信解决方案
人工智能·音视频·webrtc·实时音视频·h.265
九丶黎2 小时前
爬虫案例七Python协程爬取视频
爬虫·python·音视频
羑悻的小杀马特2 小时前
通义万相 2.1 + 蓝耘算力,AI 视频生成的梦幻组合
人工智能·音视频·ai大模型·蓝耘
勇敢滴勇11 小时前
解决 Qt 项目中出现的OPENSSL_Uplink(00007FFA9E04EC88,08): no OPENSSL_Applink
开发语言·qt
悟纤15 小时前
Luno Api - AI音乐开发「人声伴奏分离 – 自定义音频」「Luno Api系列|AI音乐API」第7篇
人工智能·音视频·suno api·luno api·ai music·luno
DogDaoDao20 小时前
探秘沃尔什-哈达玛变换(WHT)原理
图像处理·数学·音视频·hadamard·哈达玛变换·wht·视频编码器
挣扎与觉醒中的技术人20 小时前
OpenCV视频解码性能优化十连击(实测帧率提升300%)
人工智能·opencv·ffmpeg·音视频·实时音视频·视频编解码·外包转型
声光界20 小时前
引领变革!北京爱悦诗科技有限公司荣获“GAS消费电子科创奖-产品创新奖”!
科技·音视频·音频·声学·声学技术
M_Lin_1 天前
QT异步编程
开发语言·qt