- Qt 6.12
- Qt Multimedia
- Qt Multimedia C++ Classes
- Qt 6.12.0 Reference Documentation

# Qt Multimedia C++ Classes

The C++ classes provide more control over the multimedia content than the QML alternatives. If your application is serving complex use cases such as decoding media files, accessing video or audio buffers, use the C++ alternative. For more details about the complex audio, video, and camera use cases supported by the C++ classes, refer to Multimedia Overview.

## Namespaces

QtAudio | Contains enums used by the audio classes

## Classes

### Qt Multimedia Module

QAbstractVideoBuffer | Abstraction for video data
QAbstractVideoBuffer::MapData | QAbstractVideoBuffer::MapData structure describes the mapped plane layout
QAudioBuffer | Represents a collection of audio samples with a specific format and sample rate
QAudioBufferInput | Used for providing custom audio buffers to QMediaRecorder through QMediaCaptureSession
QAudioBufferOutput | Used for capturing audio data provided by QMediaPlayer
QAudioDecoder | Implements decoding audio
QAudioDevice | Information about audio devices and their functionality
QAudioFormat | Stores audio stream parameter information
QAudioInput | Represents an input channel for audio
QAudioOutput | Represents an output channel for audio
QAudioSink | Interface for sending audio data to an audio output device
QAudioSource | Interface for receiving audio data from an audio input device
QCamera | Interface for system camera devices
QCameraDevice | General information about camera devices
QCameraFormat | Describes a video format supported by a camera device
QCapturableWindow | Used for getting the basic information of a capturable window
QGStreamerInterface | Provides GStreamer-specific integration points for Qt Multimedia
QGStreamerVideoSource | Video source backed by a custom GStreamer element
QImageCapture | Used for the recording of media content
QMediaCaptureSession | Allows capturing of audio and video content
QMediaDevices | Information about available multimedia input and output devices
QMediaFormat | Describes an encoding format for a multimedia file or stream
QMediaMetaData | Provides meta-data for media files
QMediaPlayer | Allows the playing of a media files
QMediaRecorder | Used for encoding and recording a capture session
QMediaTimeRange | Represents a set of zero or more disjoint time intervals
QMediaTimeRange::Interval | QMediaTimeRange::Interval class represents a time interval with integer precision
QPlaybackOptions | Enables low-level control of media playback options
QScreenCapture | This class is used for capturing a screen
QSoundEffect | Way to play low latency sound effects
QVideoFrame | Represents a frame of video data
QVideoFrameFormat | Specifies the stream format of a video presentation surface
QVideoFrameInput | Used for providing custom video frames to QMediaRecorder or a video output through QMediaCaptureSession
QVideoSink | Represents a generic sink for video data
QWindowCapture | This class is used for capturing a window

### Qt Multimedia Widgets Module

QGraphicsVideoItem | Graphics item which display video produced by a QMediaPlayer or QCamera
QVideoWidget | Widget which presents video produced by a media object

### Qt Spatial Audio Module

QAmbientSound | A stereo overlay sound
QAudioEngine | Manages a three dimensional sound field
QAudioListener | Defines the position and orientation of the person listening to a sound field defined by QAudioEngine
QAudioRoom
QSpatialSound | A sound object in 3D space