このページでは

QMediaDevices Class

QMediaDevices クラスは、利用可能なマルチメディア入出力デバイスに関する情報を提供します。詳細...

ヘッダー: #include <QMediaDevices>
CMake: find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia
QML内: MediaDevices
継承元: QObject

プロパティ

シグナル

静的パブリックメンバー

QList<QAudioDevice> audioInputs()
QList<QAudioDevice> audioOutputs()
QAudioDevice defaultAudioInput()
QAudioDevice defaultAudioOutput()
QCameraDevice defaultVideoInput()
QList<QCameraDevice> videoInputs()

詳細な説明

QMediaDevices クラスは、利用可能なマルチメディアデバイスおよびシステムのデフォルト設定に関する情報を提供します。このクラスは、以下の 3 つのグループを監視します:

  • オーディオ入力デバイス(マイク)
  • オーディオ出力デバイス(スピーカー、ヘッドセット)
  • 映像入力デバイス(カメラ)

QMediaDevices は、デバイスグループごとに個別のリストを提供します。新しいデバイスがシステムに接続されたこと、または接続済みのデバイスがシステムから切断されたことを検知すると、対応するデバイスリストを更新し、その変更を通知するシグナルを発信します。

QMediaDevices::audioInputs およびQMediaDevices::audioOutputs 関数を使用すると、システム上のすべてのマイクおよびスピーカー/ヘッドセットを列挙できます。この例では、まず接続されているすべてのマイクのリストを取得し、次にそれらの識別子、説明、およびデフォルトデバイスであるかどうかを出力します。

const QList<QAudioDevice> audioDevices = QMediaDevices::audioInputs();
for (const QAudioDevice &device : audioDevices)
{
    out << "ID: " << device.id() << Qt::endl;
    out << "Description: " << device.description() << Qt::endl;
    out << "Is default: " << (device.isDefault() ? "Yes" : "No") << Qt::endl;
}

同様に、QMediaDevices::videoInputs は、接続されているすべてのカメラのリストを返します。この例では、接続されているすべてのカメラと、その識別子、説明、およびデフォルトのカメラであるかどうかを一覧表示します。

const QList<QCameraDevice> videoDevices = QMediaDevices::videoInputs();
for (const QCameraDevice &device : videoDevices)
{
    out << "ID: " << device.id() << Qt::endl;
    out << "Description: " << device.description() << Qt::endl;
    out << "Is default: " << (device.isDefault() ? "Yes" : "No") << Qt::endl;
}

QMediaDevicesは、各デバイスグループのシステムデフォルト設定を監視します。システム設定を通じて行われた変更については、すべて通知されます。 たとえば、ユーザーがシステム設定で新しいデフォルトのオーディオ出力を選択した場合、QMediaDevicesはそれに応じてデフォルトのオーディオ出力を更新し、シグナルを発行します。システムがカメラやオーディオ入力のデフォルト設定を提供していない場合、QMediaDevicesはリストの最初のデバイスをデフォルトデバイスとして選択します。

マルチメディアの再生や記録には、デフォルトの入力・出力デバイスを使用するだけで十分な場合が多いですが、使用するデバイスを明示的に選択する必要がある場合もよくあります。

QMediaDevices の静的メソッドはスレッドセーフであり、基盤となるシングルトンオブジェクトを参照します。

注: WebAssemblyプラットフォームでは 、その非同期的な性質上、デバイスのリストは、audioInputsChanged 、audioOutputsChanged、またはvideoInputsChanged 通知が発生した後にのみ利用可能になります。

プロパティのドキュメント

[read-only] audioInputs : QList<QAudioDevice>

システム上で利用可能なオーディオ入力デバイスのリストを返します。

これらのデバイスは通常、マイクです。デバイスは内蔵型である場合もあれば、USBやBluetoothなどを介して接続されたものである場合もあります。

アクセス関数:

QList<QAudioDevice> audioInputs()

通知信号:

void audioInputsChanged()

[read-only] audioOutputs : QList<QAudioDevice>

システム上で利用可能なオーディオ出力デバイスのリストを返します。

これらのデバイスは通常、スピーカーやヘッドセットです。デバイスは内蔵型である場合もあれば、USBやBluetoothなどを介して接続されている場合もあります。

アクセス関数:

QList<QAudioDevice> audioOutputs()

通知信号:

void audioOutputsChanged()

[read-only] defaultAudioInput : QAudioDevice

デフォルトのオーディオ入力デバイスを返します。

アプリケーションの実行中に、デフォルトのデバイスが変更される場合があります。その場合は、audioInputsChanged() シグナルが発信されます。

アクセス関数:

QAudioDevice defaultAudioInput()

通知シグナル:

[read-only] defaultAudioOutput : QAudioDevice

デフォルトのオーディオ出力デバイスを返します。

アプリケーションの実行中に、デフォルトのデバイスが変更されることがあります。その場合は、audioOutputsChanged() シグナルが発信されます。

アクセス関数:

QAudioDevice defaultAudioOutput()

通知シグナル:

[read-only] defaultVideoInput : QCameraDevice

システム上のデフォルトのカメラを返します。

注: デフォルトのカメラが存在しない場合や、カメラがまったく存在しない場合があるため、返されたオブジェクト を使用する前に、isNull() を使用して確認する必要があります。

アプリケーションの実行中にデフォルトのデバイスが変更されることがあります。その場合は、videoInputsChanged() シグナルが発信されます。

アクセス関数:

QCameraDevice defaultVideoInput()

通知シグナル:

videoInputs()も参照してください 。

[read-only] videoInputs : QList<QCameraDevice>

システム上で利用可能なカメラのリストを返します。

アクセス関数:

QList<QCameraDevice> videoInputs()

通知シグナル:

void videoInputsChanged()

© 2026 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.