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