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() |
詳細説明
空間オーディオエンジン用の部屋を定義します。
リスナーが部屋の中にいる場合、部屋の特性に合った1次反射音とリバーブが音場に適用されます。
部屋は常に正方形で、中心位置、向き、寸法によって定義されます。部屋の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) |
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)
wall をmaterial に設定します。
壁材によって反射や残響の特性が異なり、部屋の音に影響を与える。
wallMaterial(),Material,QAudioRoom::Wallも参照してください 。
QAudioRoom::Material QAudioRoom::wallMaterial(QAudioRoom::Wall wall) const
は、wall で使用されている素材を返す。
setWallMaterial()、Material 、QAudioRoom::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.