Qt系列文章024-多媒体模块介绍

1 前言

    说完网络编程后,现在也应该来到媒体库的使用了,一般媒体库会结合网络编程使用,比如从网上拉取音频/视频数据,然后通过媒体库来进行播放,编码,压缩等相关功能,而Qt已经内置好了这些相关的媒体库,一般需求都用的到,除非需求很特殊就推荐自己编译一些第三方的媒体库,例如FFmpeg 库,或者使用基于FFmpeg的现成VLC第三方播放器等,好了,废话不多说,进入正题,首先介绍Qt媒体库有哪些花样,是什么形态的,又如何使用了?本章只做概念介绍,具体实例代码等均在后节,所以本节篇幅较短

公众号:Qt实战,各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发。

公众号:Qt入门和进阶,专门介绍Qt/C++相关知识点学习,帮助Qt开发者更好的深入学习Qt。多位Qt元婴期大神,一步步带你从入门到进阶,走上财务自由之路。

官方店:https://shop114595942.taobao.com//

2 Qt多媒体模块功能概述

    Qt多媒体模块提供了很多类,还为音频和视频播放、录音、摄像头拍照和录像等提供支持,甚至还提供数字收音机的支持。可以实现如下的一-些功能:

  • 访问原始音频设备进行输入或输出;
  • 低延迟播放音效文件,如WAV文件;
  • 使用播;放列表播放压缩的音频和视频文件,如mp3、wmv等;
  • 录制声音并且压制文件;
  • 使用摄像头进行预览、拍照和视频录制;
  • 音频文件解码到内存进行处理;
  • 录制音频或视频时,访问其视频帧或音频缓冲区;
  • 数字广播调谐和收听。

   要在C++项目中使用Qt多媒体模块,需要在项目配置文件中添加如下一行语句:

Qt += multimedia

   如果在项目中使用视频播放功能,还需要加入下面的一行,以使用 QVideoWidgetQGraphicsVideoItem 进行视频播放。

Qt += multimediawidgets

3 类介绍

   Qt多媒体模块包括多个类,下表是一些典型的多媒体应用所需要用到的主要的类。

应用功能用到的类
播放压缩音频(MP3、AAC等)QMediaPlayer, QMediaPlaylist
播放音效文件(WAV文件)QSoundEffect,QSound
播放低延迟的音频QAudioOutput
访问原始音频输入数据QAudioInput
录制编码的音频数据QAudioRecorder
允许解码音频QAudioDecoder
音频编码器设置集QAudioEncoderSettings
发现音频设备QAudioDeviceInfo
监控音频正在播放或录制QAudioProbe
视频播放QMediaPlayer, QVideoWidget,QGraphicsVideoItem
视频处理QMediaPlayer,QVideoFrame, QAbstractVideoSurface
摄像头取景框QCamera,QVideoWidget, QGraphicsVideoItem
取景框预览处理QCamera,QAbstractVideoSurface, QVideoFrame
摄像头拍照QCamera, QCameralmageCapture
摄像头录像QCamera,QMediaRecorder
收听数字广播QRadioTuner,QRadioData

4 下节预告

   利用Qt多媒体模块提供的各种类,可以实现一般的音频、视频的输入和输出。这在一些实际应用中是需要的,如语音识别需要录制音频并对音频数据进行处理,车牌自动识别需要先拍照然后进行图像处理。

   本结将介绍音频的播放和录制、视频播放、摄像头拍照与录像等功能的实现。数字广播需要具有数字调频功能的硬件设备,一般用户没有这样的硬件设备,所以就不予过多介绍了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值