Multimedia 概述

Qt 提供多媒体支持通过 Qt Multimedia module. The Qt Multimedia module provides a rich feature set that enables you to easily take advantage of a platform's multimedia capabilities, such as media playback and the use of camera devices.

特征

Here are some things you can do with the Qt Multimedia APIs:

  • Access raw audio devices for input and output.
  • Play low latency sound effects.
  • Play 3D spatial audio.
  • Play media files in playlists (such as compressed audio or video files).
  • Record audio and compress it.
  • 使用摄像头 (包括取景器) 捕获图像 录制影片
  • Decode audio media files into memory for processing.

多媒体组件

The Qt Multimedia APIs are categorized into three main components. More information specific to each component is available in the overview pages. You can also take a look at some recipes .

多媒体配方

For some quick recipes, see this table:

用例 范例 QML 类型 C++ 类
播放音效 SoundEffect QSoundEffect
Playing 3D sound audiopanning SpatialSound , AudioEngine QSpatialSound , QAudioEngine
播放编码音频 (MP3 AAC 等) player MediaPlayer QMediaPlayer
Playing raw audio data with low latency audiooutput , QAudioSink
访问原生音频输入数据 spectrum , audiosource QAudioSource
录制编码音频数据 audiorecorder CaptureSession , AudioInput , MediaRecorder QMediaCaptureSession , QAudioInput , QMediaRecorder
Discovering audio and video devices audiodevices MediaDevices , audioDevice , cameraDevice QMediaDevices , QAudioDevice , QCameraDevice
视频回放 player , mediaplayer MediaPlayer , VideoOutput , Video QMediaPlayer , QVideoWidget , QGraphicsVideoItem
Capturing audio and video camera , recorder CaptureSession , Camera , AudioInput VideoOutput QMediaCaptureSession , QCamera , QAudioInput , QVideoWidget
捕获照片 camera , recorder CaptureSession , Camera , ImageCapture QMediaCaptureSession , QCamera , QImageCapture
捕获影片 camera , recorder CaptureSession , Camera , MediaRecorder QMediaCaptureSession , QCamera , QMediaRecorder

局限性

The Qt Multimedia APIs build upon the multimedia framework of the underlying platform. This can mean that support for various codecs, or containers will vary between machines. This support depends on what the end user has installed. See Supported Media Formats for more detail.

先前版本的变化

If you previously used Qt Multimedia in Qt 5, see Changes to Qt Multimedia for more information on what has changed, and what you might need to change when porting code to Qt 6.

参考文档编制