Qt 提供多媒体支持通过 Qt Multimedia 模块。Qt Multimedia 模块提供丰富特征集,使您能够轻松利用平台的多媒体能力 (如:媒体回放及使用摄像头 无线电设备)。
这里是 Qt Multimedia API 能做什么的一些范例:
Qt 多媒体 API 分为 4 个主要组件。更多可用信息 (包括背景信息及类参考) 在此:
对于某些快速配方,请查看以上概述并查阅下表:
用例 | 范例 | QML 类型 | C++ 类 | |
---|---|---|---|---|
播放音效 | QSoundEffect | |||
播放低延迟音频 | audioinput , spectrum | QAudioOutput | ||
播放编码音频 (MP3 AAC 等) | player | 音频 , MediaPlayer | QMediaPlayer | |
访问原生音频输入数据 | spectrum , audioinput | QAudioInput | ||
录制编码音频数据 | audiorecorder | QAudioRecorder | ||
探索原生音频设备 | audiodevices | QAudioDeviceInfo | ||
视频回放 | player , qmlvideo , qmlvideofx | MediaPlayer , VideoOutput , 视频 | QMediaPlayer , QVideoWidget , QGraphicsVideoItem | |
视频处理 | qmlvideofx | MediaPlayer , VideoOutput | QMediaPlayer , QAbstractVideoSurface , QVideoFrame | |
收听无线电 | declarative-radio | Radio , RadioData | QRadioTuner , QRadioData | |
访问摄像头取景器 | camera , declarative-camera | Camera , VideoOutput | QCamera , QVideoWidget , QGraphicsVideoItem | |
取景器处理 | Camera , VideoOutput | QCamera , QAbstractVideoSurface , QVideoFrame | ||
捕获照片 | camera , declarative-camera | Camera | QCamera , QCameraImageCapture | |
捕获影片 | camera , declarative-camera | Camera | QCamera , QMediaRecorder | |
3D 音源 | Audio Engine | AudioEngine , Sound |
Qt Multimedia API 构建于底层平台多媒体框架之上。这可能意味着对各种编解码器或容器的支持因机器而异,取决于最终用户安装了什么。
对于希望访问某些平台特定设置,或把 Qt Multimedia API 移植到新平台 (或新技术) 的开发者,见 多媒体后端开发 .
若先前使用 Qt 4 的 Qt Multimedia,或使用 Qt Mobility 的 Qt Multimedia Kit,请参阅 Qt Multimedia 的变化 了解有关改变的更多信息,及可能需要更改什么当移植代码时。
访问 QML 类型,通过使用:
import QtMultimedia 5.8
视频 | 展示指定视频的方便类型 |
音频 | 把音频回放添加到场景 |
MediaPlayer | 把媒体回放添加到场景 |
Camera | 访问取景器帧,并拍摄照片及影片 |
CameraCapture | 捕获摄像头图像的接口 |
CameraExposure | 曝光相关摄像头设置的接口 |
CameraFlash | 闪光相关摄像头设置的接口 |
CameraFocus | 对焦相关摄像头设置的接口 |
CameraImageProcessing | 摄像头捕获相关设置的接口 |
CameraRecorder | 控制摄像头录制视频 |
QtMultimedia | 提供具有 Qt Multimedia 有用功能的全局对象 |
Playlist | 针对要播放的指定媒体列表 |
PlaylistItem | 定义 Playlist 播放列表项 |
Radio | Access radio functionality from a QML application |
RadioData | 从 QML 应用程序访问 RDS 数据 |
Torch | 简单控制手电筒功能 |
SoundEffect | 提供在 QML 中播放音效方式的类型 |
VideoOutput | 渲染视频或摄像头取景器 |
访问下列类型,通过使用 Qt Audio Engine :
import QtAudioEngine 1.1
AttenuationModelInverse | 定义用于声音的非线性衰减曲线 |
AttenuationModelLinear | 定义用于声音的线性衰减曲线 |
AudioCategory | 按组控制所有活动声音实例 |
AudioEngine | 把所有 3D 音频内容组织在一处 |
AudioListener | 控制全局监听器参数 |
AudioSample | 加载音频样本,大部分 .wav |
PlayVariation | 定义声音的回放变体。因此同一声音的每次回放都存在轻微差异,即使采用相同 AudioSample |
Sound | 定义用于 SoundInstance 的各种样本和参数 |
SoundInstance | 播放 3D 音频内容 |
QStaticText | 当文本及其布局很少更新时,启用优化文本绘制 |
QGraphicsEffect | 用于所有图形效果的基类 |
QAudio | 包含用于音频类的枚举 |
QAudioBuffer | 表示具有特定格式和采样率的一批音频样本 |
QAudioBuffer::StereoFrame | 立体声音频帧的简单包裹器 |
QAudioDecoder | 允许解码音频 |
QAudioDeviceInfo | 查询音频设备及其功能的接口 |
QAudioFormat | 存储音频流参数信息 |
QAudioInput | 从音频输入设备接收音频数据的接口 |
QAudioOutput | 把音频数据发送到音频输出设备的接口 |
QAudioProbe | 允许监视正播放 (或录制) 音频 |
QAbstractAudioDeviceInfo | 音频后端基类 |
QAbstractAudioInput | 访问 QAudioInput 以访问由插件提供的音频设备 |
QAbstractAudioOutput | 音频后端基类 |
QAudioSystemPlugin | 音频插件抽象基 |
QSound | 播放 .wav 声音文件的方法 |
QSoundEffect | 播放低延迟音效的办法 |
QCamera::FrameRateRange | FrameRateRange 表示最小和最大速率的帧速率范围 |
QCamera | 系统摄像头设备接口 |
QCameraExposure | 用于曝光相关摄像头设置的接口 |
QCameraFocus | 用于对焦和缩放相关摄像头设置的接口 |
QCameraFocusZone | 用于摄像头自动对焦的区域信息 |
QCameraImageCapture | 用于录制媒体内容 |
QCameraImageProcessing | 用于图像处理相关摄像头设置的接口 |
QCameraInfo | 有关摄像头设备的一般信息 |
QCameraViewfinderSettings | 取景器设置集 |
QMediaContent | Access to the resources relating to a media content |
QMediaPlayer | 允许播放媒体源 |
QMediaPlaylist | 要播放的媒体内容列表 |
QMediaResource | Description of a media resource |
QMediaBindableInterface | 用于扩展媒体对象功能的对象基类 |
QMediaControl | Base interface for media service controls |
QMediaMetaData | 提供元数据属性标识符 |
QMediaObject | 用于多媒体对象的公共基 |
QMediaService | Common base class for media service implementations |
QMediaTimeInterval | 表示时间间隔采用整数精度 |
QMediaTimeRange | 表示一组零个或多个不相交的时间间隔 |
QMultimedia | 包含用于整个 Qt Multimedia 库的杂项标识符 |
QRadioData | Interfaces to the RDS functionality of the system radio |
QRadioTuner | Interface to the systems analog radio device |
QAudioRecorder | 用于录制音频 |
QAudioEncoderSettings | 音频编码器设置集 |
QImageEncoderSettings | 图像编码器设置集 |
QVideoEncoderSettings | 视频编码器设置集 |
QMediaRecorder | 用于录制媒体内容 |
QAbstractPlanarVideoBuffer | 抽象平面视频数据 |
QAbstractVideoBuffer | 抽象视频数据 |
QAbstractVideoFilter | 表示应用于通过 VideoOutput 类型接收视频帧的过滤器 |
QVideoFilterRunnable | 表示拥有所有图形 计算资源,履行实际过滤 (或计算) 的过滤器实现 |
QAbstractVideoSurface | 视频呈现表面的基类 |
QVideoFrame | 表示视频数据帧 |
QVideoProbe | 允许监视视频帧播放或录制 |
QVideoSurfaceFormat | 指定视频呈现表面的流格式 |
QGraphicsVideoItem | 显示 QMediaObject 产生视频的图形项 |
QVideoWidget | 呈现媒体对象产生视频的小部件 |