多媒体

A set of APIs for working with audio, video, radio and camera devices.

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 and radio devices.

特征

这里是 Qt Multimedia API 能做什么的一些范例:

  • 访问输入/输出原生音频设备

  • 播放低延迟音效

  • 播放 playlist 媒体文件 (譬如:压缩音频/视频文件)

  • 录制音频并压缩

  • 调整和收听无线电台

  • 使用摄像头 (包括取景器) 捕获图像 录制影片

  • 播放 3D 位置音频,采用 Qt Audio Engine

  • 把音频媒体文件解码到内存中进行处理

  • 在播放 (或录制) 视频帧/音频缓冲时,访问它们

多媒体组件

Qt’s multimedia APIs are categorized into four main components. More information (including background information and class references) is available here:

多媒体配方

对于某些快速配方,请查看以上概述并查阅下表:

用例

范例

QML 类型

C++ 类

播放音效

QSoundEffect

播放低延迟音频

audioinput , spectrum

QAudioOutput

播放编码音频 (MP3 AAC 等)

player

Audio , MediaPlayer

QMediaPlayer

访问原生音频输入数据

spectrum , audioinput

QAudioInput

录制编码音频数据

audiorecorder

QAudioRecorder

探索原生音频设备

audiodevices

QAudioDeviceInfo

视频回放

player , qmlvideo , qmlvideofx

MediaPlayer , VideoOutput , Video

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 类型

访问 QML 类型,通过使用:

import QtMultimedia 5.8
											

qml-qtmultimedia-video.html

A convenience type for showing a specified video.

qml-qtmultimedia-audio.html

Add audio playback to a scene.

qml-qtmultimedia-mediaplayer.html

把媒体回放添加到场景。

qml-qtmultimedia-camera.html

访问取景器帧,并拍摄照片和影片。

qml-qtmultimedia-cameracapture.html

An interface for capturing camera images.

qml-qtmultimedia-cameraexposure.html

An interface for exposure related camera settings.

qml-qtmultimedia-cameraflash.html

An interface for flash related camera settings.

qml-qtmultimedia-camerafocus.html

An interface for focus related camera settings.

qml-qtmultimedia-cameraimageprocessing.html

An interface for camera capture related settings.

qml-qtmultimedia-camerarecorder.html

Controls video recording with the Camera.

qml-qtmultimedia-qtmultimedia.html

Provides a global object with useful functions from Qt Multimedia.

qml-qtmultimedia-playlistitem.html

Defines an item in a Playlist.

qml-qtmultimedia-playlist.html

用于指定要播放媒体的列表。

qml-qtmultimedia-radio.html

Access radio functionality from a QML application.

qml-qtmultimedia-radiodata.html

从 QML 应用程序访问 RDS 数据。

qml-qtmultimedia-torch.html

Simple control over torch functionality.

qml-qtmultimedia-soundeffect.html

The SoundEffect type provides a way to play sound effects in QML.

qml-qtmultimedia-videooutput.html

渲染视频 (或摄像头取景器)。

访问下列类型,通过使用 Qt Audio Engine :

qml-qtaudioengine-attenuationmodellinear.html

Defines a linear attenuation curve for a Sound.

qml-qtaudioengine-attenuationmodelinverse.html

Defines a non-linear attenuation curve for a Sound.

qml-qtaudioengine-audiocategory.html

Control all active sound instances by group.

qml-qtaudioengine-audioengine.html

将所有 3D 音频内容组织在一处。

qml-qtaudioengine-audiolistener.html

Control global listener parameters.

qml-qtaudioengine-audiosample.html

Load audio samples, mostly .wav.

qml-qtaudioengine-playvariation.html

Define a playback variation for sounds. So each time the playback of the same sound can be a slightly different even with the same AudioSample.

qml-qtaudioengine-sound.html

Define a variety of samples and parameters to be used for SoundInstance.

qml-qtaudioengine-soundinstance.html

Play 3d audio content.

多媒体类

qaudio.html

QAudio 名称空间包含用于音频类的枚举。

PySide2.QtMultimedia.QAudioBuffer

QAudioBuffer 类表示具有特定格式和采样率的,音频样本的集合。

QAudioBuffer.StereoFrame

StereoFrame 类提供立体声音频帧简单包裹器。

PySide2.QtMultimedia.QAudioDecoder

QAudioDecoder 类允许解码音频。

PySide2.QtMultimedia.QAudioDeviceInfo

QAudioDeviceInfo 类提供查询音频设备及其功能的接口。

PySide2.QtMultimedia.QAudioFormat

The QAudioFormat class stores audio stream parameter information.

PySide2.QtMultimedia.QAudioInput

QAudioInput 类为从音频输入设备接收音频数据提供接口。

PySide2.QtMultimedia.QAudioOutput

The QAudioOutput class provides an interface for sending audio data to an audio output device.

PySide2.QtMultimedia.QAudioProbe

The QAudioProbe class allows you to monitor audio being played or recorded.

PySide2.QtMultimedia.QAbstractAudioDeviceInfo

The QAbstractAudioDeviceInfo class is a base class for audio backends.

PySide2.QtMultimedia.QAbstractAudioOutput

The QAbstractAudioOutput class is a base class for audio backends.

PySide2.QtMultimedia.QAbstractAudioInput

The QAbstractAudioInput class provides access for QAudioInput to access the audio device provided by the plugin.

QAudioSystemPlugin

The QAudioSystemPlugin class provides an abstract base for audio plugins.

PySide2.QtMultimedia.QSound

The QSound class provides a method to play .wav sound files.

PySide2.QtMultimedia.QSoundEffect

QSoundEffect 类提供播放低延迟声音效果的办法。

PySide2.QtMultimedia.QCamera

QCamera 类提供系统摄像头设备的接口。

QCamera.FrameRateRange

FrameRateRange 表示最小和最大速率的帧速率范围。

PySide2.QtMultimedia.QCameraExposure

QCameraExposure 类提供用于曝光相关摄像头设置的接口。

PySide2.QtMultimedia.QCameraFocusZone

The QCameraFocusZone class provides information on zones used for autofocusing a camera.

PySide2.QtMultimedia.QCameraFocus

The QCameraFocus class provides an interface for focus and zoom related camera settings.

PySide2.QtMultimedia.QCameraImageCapture

QCameraImageCapture 类用于录制媒体内容。

PySide2.QtMultimedia.QCameraImageProcessing

The QCameraImageProcessing class provides an interface for image processing related camera settings.

PySide2.QtMultimedia.QCameraInfo

The QCameraInfo class provides general information about camera devices.

PySide2.QtMultimedia.QCameraViewfinderSettings

QCameraViewfinderSettings 类提供一套取景器设置。

PySide2.QtMultimedia.QMediaContent

QMediaContent 类提供对媒体内容相关资源的访问。

PySide2.QtMultimedia.QMediaPlayer

QMediaPlayer 类允许播放媒体源。

PySide2.QtMultimedia.QMediaPlaylist

The QMediaPlaylist class provides a list of media content to play.

The QMediaPlaylistReader class provides an interface for reading a playlist file.

The QMediaPlaylistNavigator class provides navigation for a media playlist.

The QMediaPlaylistProvider class provides an abstract list of media.

PySide2.QtMultimedia.QMediaResource

The QMediaResource class provides a description of a media resource.

PySide2.QtMultimedia.QMediaBindableInterface

QMediaBindableInterface 类是扩展媒体对象功能的对象基类。

PySide2.QtMultimedia.QMediaControl

The QMediaControl class provides a base interface for media service controls.

qmediametadata.html

提供元数据属性标识符。

PySide2.QtMultimedia.QMediaObject

QMediaObject 类为多媒体对象提供公共基。

PySide2.QtMultimedia.QMediaService

The QMediaService class provides a common base class for media service implementations.

The QMediaServiceProviderHint class describes what is required of a QMediaService.

The QMediaServiceProvider class provides an abstract allocator for media services.

PySide2.QtMultimedia.QMediaTimeInterval

The QMediaTimeInterval class represents a time interval with integer precision.

PySide2.QtMultimedia.QMediaTimeRange

The QMediaTimeRange class represents a set of zero or more disjoint time intervals.

qmultimedia.html

QMultimedia 名称空间包含用于整个 Qt Multimedia 库的杂项标识符。

PySide2.QtMultimedia.QRadioData

The QRadioData class provides interfaces to the RDS functionality of the system radio.

PySide2.QtMultimedia.QRadioTuner

The QRadioTuner class provides an interface to the systems analog radio device.

PySide2.QtMultimedia.QAudioRecorder

The QAudioRecorder class is used for the recording of audio.

PySide2.QtMultimedia.QAudioEncoderSettings

The QAudioEncoderSettings class provides a set of audio encoder settings.

PySide2.QtMultimedia.QVideoEncoderSettings

QVideoEncoderSettings 类提供一组视频编码器设置。

PySide2.QtMultimedia.QImageEncoderSettings

QImageEncoderSettings 类提供一组图像编码器设置。

PySide2.QtMultimedia.QMediaRecorder

QMediaRecorder 类用于录制媒体内容。

PySide2.QtMultimedia.QAbstractVideoBuffer

QAbstractVideoBuffer 类是视频数据的抽象。

QAbstractPlanarVideoBuffer

The QAbstractPlanarVideoBuffer class is an abstraction for planar video data.

PySide2.QtMultimedia.QAbstractVideoFilter

The QAbstractVideoFilter class represents a filter that is applied to the video frames received by a VideoOutput type.

PySide2.QtMultimedia.QVideoFilterRunnable

The QVideoFilterRunnable class represents the implementation of a filter that owns all graphics and computational resources, and performs the actual filtering or calculations.

PySide2.QtMultimedia.QAbstractVideoSurface

QAbstractVideoSurface 类是视频呈现表面基类。

PySide2.QtMultimedia.QVideoFrame

QVideoFrame 类表示视频数据的帧。

PySide2.QtMultimedia.QVideoProbe

QVideoProbe 类允许监视视频帧播放或录制。

PySide2.QtMultimedia.QVideoSurfaceFormat

QVideoSurfaceFormat 类指定视频呈现表面的流格式。

PySide2.QtMultimediaWidgets.QGraphicsVideoItem

The QGraphicsVideoItem class provides a graphics item which display video produced by a QMediaObject.

PySide2.QtMultimediaWidgets.QVideoWidget

QVideoWidget 类提供呈现媒体对象产生视频的小部件。