マルチメディアの概要

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

機能

Qt Multimedia API でできることは以下の通りです:

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

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

Qt マルチメディア 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 は、基本プラットフォームのマルチメディアフレームワークをベースにしています。これは、様々なコーデックやコンテナのサポートがマシンによって異なることを意味します。このサポートは、エンドユーザーが何をインストールしているかに依存します。詳しくはSupported Media Formatsを参照してください。

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

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

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

参考ドキュメント

©2024 The Qt Company Ltd. ここに含まれるドキュメントの著作権はそれぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。