Qt 提供多媒體支持通過 Qt Multimedia 模塊。Qt Multimedia 模塊提供豐富特徵集,使您能夠輕鬆利用平颱的多媒體能力 (如:媒體迴放及使用攝像頭 無綫電設備)。
這裏是 Qt Multimedia API 能做什麼的一些範例:
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 類型,通過使用:
import QtMultimedia 5.8
| Video | 展示指定視頻的方便類型 |
| Audio | 把音頻迴放添加到場景 |
| 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 | 呈現媒體對象産生視頻的小部件 |