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 |
シグナル
| void | dimensionsChanged() |
| void | positionChanged() |
| void | reflectionGainChanged() |
| void | reverbBrightnessChanged() |
| void | reverbGainChanged() |
| void | reverbTimeChanged() |
| void | rotationChanged() |
| void | wallsChanged() |
詳細な説明
空間オーディオエンジン用の部屋を定義します。
リスナーがルーム内にある場合、そのルームの特性に合わせた一次反射音と残響が音場に適用されます。
ルームは常に正方形で、中心位置、向き、および寸法によって定義されます。ルームの 6 つの壁はそれぞれ異なる素材で構成することができ、それらは、リスナーがルーム内にいる間に体験する、計算された反射音や残響に影響を与えます。
同じ位置を複数の部屋がカバーしている場合、エンジンは体積が最も小さい部屋を使用します。
メンバータイプのドキュメント
enum QAudioRoom::Material
部屋の各壁面に適用できるさまざまな素材を定義します。
| 定数 | 値 | 説明 |
|---|---|---|
QAudioRoom::Transparent | 0 | 部屋の側面は開放されており、反射や残響には寄与しません。 |
QAudioRoom::AcousticCeilingTiles | 1 | ほとんどの反射や残響を抑制する吸音タイル。 |
QAudioRoom::BrickBare | 2 | むき出しのレンガの壁。 |
QAudioRoom::BrickPainted | 3 | 塗装されたレンガの壁。 |
QAudioRoom::ConcreteBlockCoarse | 4 | コンクリートのむき出しの壁 |
QAudioRoom::ConcreteBlockPainted | 5 | 塗装されたコンクリート壁 |
QAudioRoom::CurtainHeavy | 6 | 厚手のカーテン。主に低周波を反射する。 |
QAudioRoom::FiberGlassInsulation | 7 | グラスウール断熱材。極めて低周波のみを反射する |
QAudioRoom::GlassThin | 8 | 薄いガラスの壁 |
QAudioRoom::GlassThick | 9 | 厚いガラスの壁 |
QAudioRoom::Grass | 10 | 芝生 |
QAudioRoom::LinoleumOnConcrete | 11 | リノリウムの床 |
QAudioRoom::Marble | 12 | 大理石の床 |
QAudioRoom::Metal | 13 | 金属 |
QAudioRoom::ParquetOnConcrete | 14 | コンクリート上の寄木張りの床 |
QAudioRoom::PlasterRough | 15 | 粗仕上げの漆喰 |
QAudioRoom::PlasterSmooth | 16 | 滑らかな漆喰仕上げ |
QAudioRoom::PlywoodPanel | 17 | 合板パネル |
QAudioRoom::PolishedConcreteOrTile | 18 | 研磨コンクリートまたはタイル |
QAudioRoom::Sheetrock | 19 | 岩石 |
QAudioRoom::WaterOrIceSurface | 20 | 水または氷 |
QAudioRoom::WoodCeiling | 21 | 木製天井 |
QAudioRoom::WoodPanel | 22 | 木製パネル |
QAudioRoom::UniformMaterial | 23 | すべての周波数で均一な反射をもたらす人工素材 |
enum QAudioRoom::Wall
部屋の6つの壁を定義する列挙型
| 定数 | 値 | 説明 |
|---|---|---|
QAudioRoom::LeftWall | 0 | 左の壁 (負の x) |
QAudioRoom::RightWall | 1 | 右側の壁(xが正) |
QAudioRoom::Floor | 2 | 底面(負の y) |
QAudioRoom::Ceiling | 3 | 上面(正の y) |
QAudioRoom::FrontWall | 4 | 前面(負のz軸) |
QAudioRoom::BackWall | 5 | 背面壁(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) |
通知信号:
| void | reverbTimeChanged() |
rotation : QQuaternion
3D空間における部屋の向きを定義します。
アクセス機能:
| QQuaternion | rotation() const |
| void | setRotation(const QQuaternion &q) |
通知シグナル:
| void | rotationChanged() |
メンバ関数のドキュメント
[explicit] QAudioRoom::QAudioRoom(QAudioEngine *engine)
engine 用のQAudioRoomを構築します。
注: 有効なQAudioEngine
[override virtual noexcept] QAudioRoom::~QAudioRoom()
その場の雰囲気を台無しにする。
void QAudioRoom::setWallMaterial(QAudioRoom::Wall wall, QAudioRoom::Material material)
wall をmaterial に設定します。
壁の材質によって反射や残響の特性が異なり、それらが部屋の音響に影響を与えます。
wallMaterial()、Material 、およびQAudioRoom::Wallも参照してください 。
QAudioRoom::Material QAudioRoom::wallMaterial(QAudioRoom::Wall wall) const
wall で使用されている素材を返します。
setWallMaterial()、Material 、およびQAudioRoom::Wallも参照してください 。
[signal] void QAudioRoom::wallsChanged()
壁の材質が変わる際に合図を出す。
© 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.