QAudioRoom Class

ヘッダ #include <QAudioRoom>
CMake: find_package(Qt6 REQUIRED COMPONENTS SpatialAudio)
target_link_libraries(mytarget PRIVATE Qt6::SpatialAudio)
qmake: QT += spatialaudio
継承: QObject

パブリックな型

enum Material { Transparent, AcousticCeilingTiles, BrickBare, BrickPainted, ConcreteBlockCoarse, …, UniformMaterial }
enum Wall { LeftWall, RightWall, Floor, Ceiling, FrontWall, BackWall }

プロパティ

パブリック機能

QAudioRoom(QAudioEngine *engine)
virtual ~QAudioRoom() override
QVector3D dimensions() const
QVector3D position() const
float reflectionGain() const
float reverbBrightness() const
float reverbGain() const
float reverbTime() const
QQuaternion rotation() const
void setDimensions(QVector3D dim)
void setPosition(QVector3D pos)
void setReflectionGain(float factor)
void setReverbBrightness(float factor)
void setReverbGain(float factor)
void setReverbTime(float factor)
void setRotation(const QQuaternion &q)
void setWallMaterial(QAudioRoom::Wall wall, QAudioRoom::Material material)
QAudioRoom::Material wallMaterial(QAudioRoom::Wall wall) const

シグナル

詳細説明

空間オーディオエンジン用の部屋を定義します。

リスナーが部屋の中にいる場合、部屋の特性に合った1次反射音とリバーブが音場に適用されます。

部屋は常に正方形で、中心位置、向き、寸法によって定義されます。部屋の6つの壁はそれぞれ異なる素材でできており、リスナーが部屋の中にいる間に経験する反射音と残響音の計算に寄与します。

複数の部屋が同じ位置をカバーする場合、エンジンは最小の容積を持つ部屋を使用します。

メンバータイプのドキュメント

enum QAudioRoom::Material

部屋のさまざまな壁に適用できるさまざまな素材を定義する。

定数説明
QAudioRoom::Transparent0部屋の側面はオープンで、反射や残響に寄与しません。
QAudioRoom::AcousticCeilingTiles1ほとんどの反射や残響を抑える音響タイル。
QAudioRoom::BrickBare2むき出しのレンガ壁。
QAudioRoom::BrickPainted3塗装されたレンガの壁
QAudioRoom::ConcreteBlockCoarse4生コンクリートの壁
QAudioRoom::ConcreteBlockPainted5塗装済みのコンクリート壁
QAudioRoom::CurtainHeavy6重いカーテン。主に低周波を反射する。
QAudioRoom::FiberGlassInsulation7ガラス繊維の断熱材。非常に低い周波数のみを反射する
QAudioRoom::GlassThin8薄いガラス壁
QAudioRoom::GlassThick9厚いガラス壁
QAudioRoom::Grass10芝生
QAudioRoom::LinoleumOnConcrete11リノリウムの床
QAudioRoom::Marble12大理石の床
QAudioRoom::Metal13金属
QAudioRoom::ParquetOnConcrete14コンクリートフローリング
QAudioRoom::PlasterRough15ラフプラスター
QAudioRoom::PlasterSmooth16平滑漆喰
QAudioRoom::PlywoodPanel17合板パネル
QAudioRoom::PolishedConcreteOrTile18コンクリートまたはタイル
QAudioRoom::Sheetrock19
QAudioRoom::WaterOrIceSurface20水または氷
QAudioRoom::WoodCeiling21木製天井
QAudioRoom::WoodPanel22木製パネル
QAudioRoom::UniformMaterial23すべての周波数に均一な反射を与える人工素材

enum QAudioRoom::Wall

部屋の6つの壁を定義する列挙型

定数説明
QAudioRoom::LeftWall0左の壁 (負の x)
QAudioRoom::RightWall1右の壁 (正の x)
QAudioRoom::Floor2下の壁(負のy)
QAudioRoom::Ceiling3上壁(正のy)
QAudioRoom::FrontWall4前方の壁(負のz)
QAudioRoom::BackWall5後ろの壁(正のz)

物件資料

dimensions : QVector3D

3D空間における部屋の寸法を定義します。デフォルトの単位はセンチメートルです。

アクセス機能

QVector3D dimensions() const
void setDimensions(QVector3D dim)

通知シグナル:

void dimensionsChanged()

position およびQAudioEngine::distanceScaleも参照

position : QVector3D

3D空間における部屋の中心位置を定義します。デフォルトの単位はセンチメートルです。

アクセス機能

QVector3D position() const
void setPosition(QVector3D pos)

通知シグナル:

void positionChanged()

dimensions およびQAudioEngine::distanceScaleも参照

reflectionGain : float

この部屋で発生する反射音のゲイン係数。0から1の値は反射を減衰させ、1より大きい値は反射にゲインを適用して大きくします。

デフォルトは1で、0を指定すると反射は無効になります。負の値は0にマッピングされます。

アクセス関数:

float reflectionGain() const
void setReflectionGain(float factor)

通知シグナル:

void reflectionGainChanged()

reverbBrightness : float

生成されるリバーブに適用される明るさの係数。正の値は高い周波数のリバーブを増加させ、低い周波数を減衰させ、負の値はその逆になります。

デフォルトは0。

アクセス機能:

float reverbBrightness() const
void setReverbBrightness(float factor)

通知シグナル:

void reverbBrightnessChanged()

reverbGain : float

この部屋で発生するリバーブのゲイン係数。0から1の値はリバーブを減衰させ、1より大きい値はリバーブにゲインを適用して大きくします。

デフォルトは1で、0を指定するとリバーブは無効になります。負の値は0にマッピングされます。

アクセス機能

float reverbGain() const
void setReverbGain(float factor)

通知シグナル

void reverbGainChanged()

reverbTime : float

この部屋で生成されるすべてのリバーブタイミングに適用される係数。値が大きいほど、リバーブのタイミングが長くなり、部屋が大きく聞こえます。

デフォルトは1で、負の値は0にマッピングされます。

アクセス関数:

float reverbTime() const
void setReverbTime(float factor)

Notifierシグナル:

void reverbTimeChanged()

rotation : QQuaternion

3D空間における部屋の向きを定義します。

アクセス機能

QQuaternion rotation() const
void setRotation(const QQuaternion &q)

通知シグナル

void rotationChanged()

メンバ関数ドキュメント

[explicit] QAudioRoom::QAudioRoom(QAudioEngine *engine)

engine 用の QAudioRoom を構築します。

[override virtual noexcept] QAudioRoom::~QAudioRoom()

部屋を破壊する。

void QAudioRoom::setWallMaterial(QAudioRoom::Wall wall, QAudioRoom::Material material)

wallmaterial に設定します。

壁材によって反射や残響の特性が異なり、部屋の音に影響を与える。

wallMaterial(),Material,QAudioRoom::Wallも参照してください

QAudioRoom::Material QAudioRoom::wallMaterial(QAudioRoom::Wall wall) const

は、wall で使用されている素材を返す。

setWallMaterial()、MaterialQAudioRoom::Wallも参照のこと

[signal] void QAudioRoom::wallsChanged()

壁材が変化したときのシグナル。

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