02-Qt多媒体模块功能概述
15.1 Qt多媒体模块功能概述
Qt多媒体模块提供了很多类,可以实现如下的一些功能:
- 访问原始音频设备进行输入或输出;
- 低延迟播放音效文件,如WAV文件;
- 使用播放列表播放压缩的音频和视频文件,如mp3、wmv等;
- 录制声音并且压制文件;
- 使用摄像头进行预览、拍照和视频录制;
- 音频文件解码到内存进行处理;
- 录制音频或视频时,访问其视频帧或音频缓冲区;
- 数字广播调谐和收听。
要在C++项目中使用Qt多媒体模块,需要在项目配置文件中添加如下一行语句:
Qt += multimedia
如果在项目中使用视频播放功能,还需要加入下面的一行,以使用QVideoWidget或QGraphicsVideoItem进行视频播放。
Qt += multimediawidgets
Qt多媒体模块包括多个类,表15-1是一些典型的多媒体应用所需要用到的主要的类。
| 应用功能 | 用到的类 | | :----- | :----- | :----- | :----- | | 播放压缩音频(MP3、AAC等) | QMediaPlayer,QMediaPlaylist | | 播放音效文件(WAV文件) | QSoundEffect,QSound | | 播放低延迟的音频 | QAudioOutput | | 访问原始音频输入数据 | QAudioInput | | 录制编码的音频数据 | QAudioRecorder | | 发现音频设备 | QAudioDeviceInfo | | 视频播放 | QMediaPlayer,QVideoWidget,QGraphicsVideoItem | | 视频处理 | QMediaPlayer,QVideoFrame,QAbstractVideoSurface | | 摄像头取景框 | QCamera,QVideoWidget,QGraphicsVideoItem | | 取景框预览处理 | QCamera,QAbstractVideoSurface,QVideoFrame | | 摄像头拍照 | QCamera,QCameraImageCapture | | 摄像头录像 | QCamera,QMediaRecorder | | 收听数字广播 | QRadioTuner,QRadioData |
利用Qt多媒体模块提供的各种类,可以实现一般的音频、视频的输入和输出。这在一些实际应用中是需要的,如语音识别需要录制音频并对音频数据进行处理,车牌自动识别需要先拍照然后进行图像处理。
本章将介绍音频的播放和录制、视频播放、摄像头拍照与录像等功能的实现。数字广播需要具有数字调频功能的硬件设备,一般用户没有这样的硬件设备,本书就不予介绍了。