多媒體

Qt 提供多媒體支持通過 Qt Multimedia 模塊。Qt Multimedia 模塊提供豐富特徵集,使您能夠輕鬆利用平颱的多媒體能力 (如:媒體迴放及使用攝像頭 無綫電設備)。

特徵

這裏是 Qt Multimedia API 能做什麼的一些範例:

  • 訪問輸入/輸齣原生音頻設備
  • 播放低延遲音效
  • 播放 playlist 媒體文件 (譬如:壓縮音頻/視頻文件)
  • 錄製音頻並壓縮
  • 調整和收聽無綫電颱
  • 使用攝像頭 (包括取景器) 捕獲圖像 錄製影片
  • 播放 3D 位置音頻,采用 Qt Audio Engine
  • 把音頻媒體文件解碼到內存中進行處理
  • 在播放 (或錄製) 視頻幀/音頻緩衝時,訪問它們

多媒體組件

Qt 多媒體 API 分為 4 個主要組件。更多可用信息 (包括背景信息及類參考) 在此:

多媒體配方

對於某些快速配方,請查看以上概述並查閱下錶:

用例 範例 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
					
Audio 把音頻迴放添加到場景

Camera

訪問取景器幀,並拍攝照片及影片

CameraCapture

捕獲攝像頭圖像的接口

CameraExposure

曝光相關攝像頭設置的接口

CameraFlash

閃光相關攝像頭設置的接口

CameraFocus

對焦相關攝像頭設置的接口

CameraImageProcessing

攝像頭捕獲相關設置的接口

CameraRecorder

控製攝像頭錄製視頻

MediaPlayer

把媒體迴放添加到場景

Playlist

針對要播放的指定媒體列錶

PlaylistItem

定義 Playlist 項

QtMultimedia

提供具有 Qt Multimedia 有用功能的全局對象

RadioData

從 QML 應用程序訪問 RDS 數據

SoundEffect

提供在 QML 中播放音效方式的類型

Torch

簡單控製手電筒功能
Video 展示指定視頻的方便類型

VideoOutput

渲染視頻或攝像頭取景器

訪問下列類型,通過使用 Qt Audio Engine :

import QtAudioEngine 1.15
					

AttenuationModelInverse

定義用於聲音的非綫性衰減麯綫

AttenuationModelLinear

定義用於聲音的綫性衰減麯綫

AudioCategory

按組控製所有活動聲音實例

AudioEngine

把所有 3D 音頻內容組織在一處

AudioListener

控製全局監聽器參數

AudioSample

加載音頻樣本,大部分 .wav

PlayVariation

定義聲音的迴放變體。因此同一聲音的每次迴放都存在輕微差異,即使采用相同 AudioSample

Sound

定義用於 SoundInstance 的各種樣本和參數

SoundInstance

播放 3D 音頻內容

多媒體類

QAbstractAudioDeviceInfo

用於音頻後端的基類

QAbstractAudioInput

訪問 QAudioInput 以訪問由插件提供的音頻設備

QAbstractAudioOutput

用於音頻後端的基類

QAbstractPlanarVideoBuffer

抽象平麵視頻數據

QAbstractVideoBuffer

抽象視頻數據

QAbstractVideoFilter

錶示應用於通過 VideoOutput 類型接收視頻幀的過濾器

QAbstractVideoSurface

視頻呈現錶麵的基類

QAudio

包含用於音頻類的枚舉

QAudioBuffer

錶示具有特定格式和采樣率的一批音頻樣本

QAudioBuffer::StereoFrame

立體聲音頻幀的簡單包裹器

QAudioDecoder

允許解碼音頻

QAudioDeviceInfo

查詢音頻設備及其功能的接口

QAudioEncoderSettings

音頻編碼器設置集

QAudioFormat

存儲音頻流參數信息

QAudioInput

從音頻輸入設備接收音頻數據的接口

QAudioOutput

把音頻數據發送到音頻輸齣設備的接口

QAudioProbe

允許監視正播放 (或錄製) 音頻

QAudioRecorder

用於錄製音頻

QAudioSystemPlugin

音頻插件抽象基

QCamera

係統攝像頭設備接口

QCamera::FrameRateRange

FrameRateRange 錶示最小和最大速率的幀速率範圍

QCameraExposure

用於曝光相關攝像頭設置的接口

QCameraFocus

用於對焦和縮放相關攝像頭設置的接口

QCameraFocusZone

用於攝像頭自動對焦的區域信息

QCameraImageCapture

用於錄製媒體內容

QCameraImageProcessing

用於圖像處理相關攝像頭設置的接口

QCameraInfo

有關攝像頭設備的一般信息

QCameraViewfinderSettings

取景器設置集

QGraphicsEffect

用於所有圖形效果的基類

QGraphicsVideoItem

顯示 QMediaObject 産生視頻的圖形項

QImageEncoderSettings

圖像編碼器設置集

QMediaBindableInterface

用於擴展媒體對象功能的對象基類

QMediaContent

對媒體內容相關資源的訪問

QMediaMetaData

提供元數據屬性標識符

QMediaObject

用於多媒體對象的公共基

QMediaPlayer

允許播放媒體源

QMediaPlaylist

要播放的媒體內容列錶

QMediaRecorder

用於錄製媒體內容

QMediaTimeInterval

錶示時間間隔采用整數精度

QMediaTimeRange

錶示一組零個或多個不相交的時間間隔

QMultimedia

包含用於整個 Qt Multimedia 庫的雜項標識符

QSound

播放 .wav 聲音文件的方法

QSoundEffect

播放低延遲音效的辦法

QStaticText

當文本及其布局很少更新時,啓用優化文本繪製

QVideoEncoderSettings

視頻編碼器設置集

QVideoFilterRunnable

錶示擁有所有圖形 計算資源,履行實際過濾 (或計算) 的過濾器實現

QVideoFrame

錶示視頻數據幀

QVideoProbe

允許監視視頻幀播放或錄製

QVideoSurfaceFormat

指定視頻呈現錶麵的流格式

QVideoWidget

呈現媒體對象産生視頻的小部件