QAudioDevice Class

QAudioDeviceクラスは、オーディオ・デバイスとその機能についての情報を提供します。詳細...

Header: #include <QAudioDevice>
CMake: find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia

パブリック・タイプ

enum Mode { Null, Input, Output }

プロパティ

パブリック関数

QAudioDevice()
QAudioDevice(const QAudioDevice &other)
QAudioDevice(QAudioDevice &&other)
~QAudioDevice()
QAudioFormat::ChannelConfig channelConfiguration() const
QString description() const
QByteArray id() const
bool isDefault() const
bool isFormatSupported(const QAudioFormat &settings) const
bool isNull() const
int maximumChannelCount() const
int maximumSampleRate() const
int minimumChannelCount() const
int minimumSampleRate() const
QAudioDevice::Mode mode() const
QAudioFormat preferredFormat() const
QList<QAudioFormat::SampleFormat> supportedSampleFormats() const
void swap(QAudioDevice &other)
bool operator!=(const QAudioDevice &other) const
QAudioDevice &operator=(QAudioDevice &&other)
QAudioDevice &operator=(const QAudioDevice &other)
bool operator==(const QAudioDevice &other) const

詳細説明

QAudioDevice は、入力用または再生用の、システムで利用可能なオーディオデバイスを記述します。

QAudioDeviceは、Qtがデバイスと通信するクラス(QAudioSourceQAudioSink など)を構築するために使用されます。また、キャプチャセッションやメディア再生時に使用する入力デバイスや出力デバイスを決定するためにも使用されます。

また、各デバイスがサポートしているフォーマットを問い合わせることもできます。ここでいうフォーマットとは、チャンネル数、サンプルレート、サンプルタイプからなるセットのことである。フォーマットはQAudioFormat クラスで表されます。

minimumChannelCount(),maximumChannelCount(),minimumSampleRate(),maximumSampleRate(),supportedSampleFormats() で、デバイスがサポートする各パラメータの値を取得できる。サポートされる組み合わせは、オーディオデバイスの機能に依存します。特定のフォーマットが必要な場合は、isFormatSupported() でデバイスがサポートしているかどうかを確認できます。例えば

{
    sourceFile.setFileName("/tmp/test.raw");
    sourceFile.open(QIODevice::ReadOnly);

    QAudioFormat format;
    // Set up the format, eg.
    format.setSampleRate(8000);
    format.setChannelCount(1);
    format.setSampleFormat(QAudioFormat::UInt8);

    QAudioDevice info(QMediaDevices::defaultAudioOutput());
    if (!info.isFormatSupported(format)) {
        qWarning() << "Raw audio format not supported by backend, cannot play audio.";
        return;
    }

    audio = new QAudioSink(format, this);
    connect(audio, QAudioSink::stateChanged, this, &AudioInputExample::handleStateChanged);
    audio->start(&sourceFile);
}

使用可能なデバイスのセットは、QMediaDevices クラスから取得できます。

例えば

const auto devices = QMediaDevices::audioOutputs();
for (const QAudioDevice &device : devices)
    qDebug() << "Device: " << device.description();

このコードサンプルでは、サウンドを出力できる、つまりサポートされているフォーマットでオーディオストリームを再生できる、すべてのデバイスをループします。見つかった各デバイスについて、単純に deviceName() を表示します。

QAudioSinkQAudioSourceQAudioFormatも参照

メンバー型ドキュメント

enum QAudioDevice::Mode

このデバイスのモードを記述する。

定数説明
QAudioDevice::Null0ヌル・デバイス
QAudioDevice::Input1入力デバイス
QAudioDevice::Output2出力デバイス

プロパティ Documentation

[read-only] description : const QString

オーディオデバイスの可読形式の名前を返します。

この文字列を使用して、ユーザーにデバイスを提示します。

アクセス関数

QString description() const

[read-only] id : const QByteArray

オーディオデバイスの識別子を返します。

デバイス名は、使用するプラットフォーム/オーディオプラグインによって異なります。

オーディオデバイスの一意な識別子です。

アクセス関数

QByteArray id() const

[read-only] isDefault : const bool

デフォルトのオーディオデバイスであれば true を返します。

アクセス関数

bool isDefault() const

[read-only] mode : const Mode

アクセス関数:このデバイスが入力デバイスか出力デバイスかを返します。

アクセス関数:このデバイスが入力デバイスか出力デバイスかを返します:

QAudioDevice::Mode mode() const

メンバー関数ドキュメント

QAudioDevice::QAudioDevice()

NULL QAudioDevice オブジェクトを構築します。

QAudioDevice::QAudioDevice(const QAudioDevice &other)

other のコピーを構築します。

[noexcept] QAudioDevice::QAudioDevice(QAudioDevice &&other)

other から構築物を移動します。

[noexcept] QAudioDevice::~QAudioDevice()

このオーディオ・デバイス情報を破棄します。

QAudioFormat::ChannelConfig QAudioDevice::channelConfiguration() const

デバイスのチャンネル構成を返します。

bool QAudioDevice::isFormatSupported(const QAudioFormat &settings) const

提供されたsettings が、このQAudioDevice によって記述されたオーディオデバイスによってサポートされている場合、true を返します。

bool QAudioDevice::isNull() const

このQAudioDevice オブジェクトが有効なデバイス定義を保持しているかどうかを返します。

int QAudioDevice::maximumChannelCount() const

サポートされるチャンネル数の最大値を返します。

これは通常、モノラル・サウンドの場合は 1、ステレオ・サウンドの場合は 2 です。

int QAudioDevice::maximumSampleRate() const

対応サンプルレートの最大値(ヘルツ単位)を返します。

int QAudioDevice::minimumChannelCount() const

対応チャンネル数の最小値を返します。

これは通常、モノラル・サウンドの場合は1、ステレオ・サウンドの場合は2です。

int QAudioDevice::minimumSampleRate() const

対応サンプルレートの最小値(ヘルツ単位)を返します。

QAudioFormat QAudioDevice::preferredFormat() const

このデバイスのデフォルトオーディオフォーマット設定を返します。

これらの設定は、使用するプラットフォーム/オーディオプラグインによって提供されます。

また、使用されているQtAudio::Mode にも依存します。

典型的なオーディオシステムは以下のようなものを提供する:

  • 入力設定:入力設定:48000Hzモノラル16ビット。
  • 出力設定:出力設定:48000Hzステレオ16ビット

QList<QAudioFormat::SampleFormat> QAudioDevice::supportedSampleFormats() const

サポートされているサンプルタイプのリストを返します。

[noexcept] void QAudioDevice::swap(QAudioDevice &other)

オーディオ・デバイスをother と交換します。

bool QAudioDevice::operator!=(const QAudioDevice &other) const

とは異なるオーディオ・デバイスをこのQAudioDevice クラスが表す場合、true を返します。other

[noexcept] QAudioDevice &QAudioDevice::operator=(QAudioDevice &&other)

other をこのQAudioDevice オブジェクトに移動します。

QAudioDevice &QAudioDevice::operator=(const QAudioDevice &other)

QAudioDevice オブジェクトをother と等しくなるように設定します。

bool QAudioDevice::operator==(const QAudioDevice &other) const

このQAudioDevice クラスがother と同じオーディオデバイスを表す場合、true を返します。

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