マルチメディアの概要

Qt におけるマルチメディアのサポートは Qt Multimediaモジュールによって提供されます。Qt Multimedia モジュールは、メディア再生やカメラデバイスの使用など、プラットフォームのマルチメディア機能を簡単に利用できる豊富な機能セットを提供します。

機能

Qt Multimedia APIでできることをいくつか紹介します:

  • 生のオーディオ・デバイスにアクセスして入出力を行う。
  • 低レイテンシーサウンドエフェクトの再生
  • 3D空間オーディオの再生
  • プレイリスト内のメディアファイル(圧縮されたオーディオファイルやビデオファイルなど)の再生。
  • オーディオの録音と圧縮。
  • ビューファインダー、画像キャプチャ、ムービー録画を含むカメラの使用
  • オーディオ・メディア・ファイルをメモリにデコードして処理する。

マルチメディア・コンポーネント

Qt Multimedia APIは3つの主要コンポーネントに分類されます。各コンポーネントに特化した詳細情報は、概要ページにあります。また、いくつかのレシピもご覧いただけます。

マルチメディアレシピ

簡単なレシピはこちらの表をご覧ください:

使用例使用例QMLタイプC++クラス
効果音の再生SoundEffectQSoundEffect
3Dサウンドの再生オーディオパンSpatialSound,AudioEngineQSpatialSound,QAudioEngine
エンコードされたオーディオの再生(MP3、AACなど)プレーヤーMediaPlayerQMediaPlayer
生のオーディオデータを低レイテンシーで再生オーディオ出力QAudioSink
生のオーディオ入力データへのアクセスオーディオソースQAudioSource
エンコードされたオーディオデータの録音オーディオレコーダーCaptureSession AudioInputMediaRecorderQMediaCaptureSession QAudioInputQMediaRecorder
オーディオデバイスとビデオデバイスの検出オーディオデバイスMediaDevices,audioDevicecameraDeviceQMediaDevices,QAudioDeviceQCameraDevice
ビデオ再生プレーヤーメディアプレーヤーMediaPlayer,VideoOutputVideoQMediaPlayer,QVideoWidgetQGraphicsVideoItem
オーディオとビデオのキャプチャカメラレコーダーCaptureSession Camera,AudioInput VideoOutputQMediaCaptureSession QCamera, 、QAudioInput QVideoWidget
写真のキャプチャカメラレコーダーCaptureSession,CameraImageCaptureQMediaCaptureSession QCameraQImageCapture
ムービーのキャプチャカメラレコーダーCaptureSession,CameraMediaRecorderQMediaCaptureSession QCameraQMediaRecorder

制限事項

Qt Multimedia APIは、基礎となるプラットフォームのマルチメディア・フレームワークに基づいて構築されています。これは、さまざまなコーデックやコンテナのサポートがマシンによって異なることを意味します。このサポートは、エンドユーザーが何をインストールしているかによって異なります。詳しくは「サポートされるメディアフォーマット」をご覧ください。

注: Qt Multimedia API は、QCoreApplication によって提供される機能に依存し、Qt Multimedia API を使用して作成されたマルチメディア・オブジェクトは、このアプリケーション・オブジェクトの有効期間中にのみ使用できます。したがって、Qt Multimedia API にアクセスする前に、QCoreApplicationQGuiApplicationQApplication を作成することが重要です。アプリケーション・オブジェクトを再作成する場合は、Qt Multimedia オブジェクトも再作成してください。

以前のバージョンからの変更点

Qt 5 でQt Multimedia を使用していた場合、Qt 6 にコードを移植する際に何が変わったか、何を変更する必要があるかについては、 Qt Multimedia の変更点を参照してください。

リファレンス・ドキュメント

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.