QSoundEffect Class
QSoundEffectクラスは、低レイテンシーの効果音を再生する方法を提供します。詳細...
ヘッダー | #include <QSoundEffect> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
qmake | QT += multimedia |
QML で | SoundEffect |
継承: | QObject |
パブリックな型
プロパティ
|
パブリック機能
QSoundEffect(QObject *parent = nullptr) | |
QSoundEffect(const QAudioDevice &audioDevice, QObject *parent = nullptr) | |
virtual | ~QSoundEffect() override |
QAudioDevice | audioDevice() |
bool | isLoaded() const |
bool | isMuted() const |
bool | isPlaying() const |
int | loopCount() const |
int | loopsRemaining() const |
void | setAudioDevice(const QAudioDevice &device) |
void | setLoopCount(int loopCount) |
void | setMuted(bool muted) |
void | setSource(const QUrl &url) |
void | setVolume(float volume) |
QUrl | source() const |
QSoundEffect::Status | status() const |
float | volume() const |
パブリックスロット
シグナル
void | audioDeviceChanged() |
void | loadedChanged() |
void | loopCountChanged() |
void | loopsRemainingChanged() |
void | mutedChanged() |
void | playingChanged() |
void | sourceChanged() |
void | statusChanged() |
void | volumeChanged() |
静的パブリックメンバ
QStringList | supportedMimeTypes() |
詳しい説明
このクラスは、非圧縮のオーディオファイル(一般的にはWAVファイル)を一般的に低レイテンシーで再生することができ、ユーザーのアクションに応答する「フィードバック」タイプのサウンド(仮想キーボードのサウンド、ポップアップダイアログの正負のフィードバック、ゲームのサウンドなど)に適しています。低レイテンシーが重要でない場合は、QMediaPlayer 。多様なメディアフォーマットをサポートし、リソース消費も少ないからです。
この例では、ループするやや静かな効果音を再生しています:
QSoundEffect effect; effect.setSource(QUrl::fromLocalFile("engine.wav")); effect.setLoopCount(QSoundEffect::Infinite); effect.setVolume(0.25f); effect.play();
通常、サウンドエフェクトは再利用されるべきで、これによって全ての解析と 準備が前もって行われ、必要な時だけトリガーされます。これにより、低レイテンシのオーディオ再生が可能になります。
MyGame() : m_explosion(this) { m_explosion.setSource(QUrl::fromLocalFile("explosion.wav")); m_explosion.setVolume(0.25f); // Set up click handling etc. connect(clickSource, &QPushButton::clicked, &m_explosion, &QSoundEffect::play); } private: QSoundEffect m_explosion;
QSoundEffectは、低レイテンシー再生を実現するために若干多くのリソースを必要とするため、プラットフォームは同時に再生する効果音の数を制限する場合があります。
メンバー型ドキュメント
enum QSoundEffect::Loop
定数 | 値 | 説明 |
---|---|---|
QSoundEffect::Infinite | -2 | 無限ループのためにsetLoopCount() のパラメータとして使用される。 |
enum QSoundEffect::Status
定数 | 値 | 説明 |
---|---|---|
QSoundEffect::Null | 0 | ソースが設定されていないか、ソースが NULL です。 |
QSoundEffect::Loading | 1 | SoundEffect はソースをロードしようとしています。 |
QSoundEffect::Ready | 2 | ソースはロードされ、再生する準備ができている。 |
QSoundEffect::Error | 3 | ソースのロードに失敗するなど、操作中にエラーが発生した。 |
プロパティの説明
audioDevice : QAudioDevice
QAudioDevice インスタンスを返します。
アクセス関数
QAudioDevice | audioDevice() |
void | setAudioDevice(const QAudioDevice &device) |
通知シグナル
void | audioDeviceChanged() |
loops : int
このプロパティは、サウンドの再生回数を保持する。0または1の値は、サウンドが1回だけ再生されることを意味します。SoundEffect.Infiniteに設定すると、無限ループが可能になります。
サウンドエフェクトの再生中に値を変更することも可能で、その場合は残りのループが新しい値に更新されます。
アクセス関数:
int | loopCount() const |
void | setLoopCount(int loopCount) |
通知シグナル:
void | loopCountChanged() |
[read-only]
loopsRemaining : const int
このプロパティは、サウンドエフェクトが単独で停止するまでの残りループ数、またはloops で設定されている場合はQSoundEffect::Infinite を含みます。
アクセス関数
int | loopsRemaining() const |
通知シグナル
void | loopsRemainingChanged() |
muted : bool
このプロパティは、ミュートを制御する方法を提供します。値をtrue
に設定すると、このエフェクトはミュートされます。
アクセス関数
通知シグナル:
void | mutedChanged() |
[read-only]
playing : const bool
説明: 効果音が再生されているか否かを示す。
アクセス関数
bool | isPlaying() const |
通知シグナル
void | playingChanged() |
source : QUrl
このプロパティは、再生するサウンドのURLを保持します。SoundEffect がソースのロードを試みるには、URLが存在し、アプリケーションが指定されたディレクトリに読み込み権限を持っている必要があります。
アクセス関数
通知シグナル
void | sourceChanged() |
[read-only]
status : const Status
このプロパティは、QSoundEffect::Status 列挙から、効果音の現在の状態を示す。
アクセス関数
QSoundEffect::Status | status() const |
ノーティファイアシグナル
void | statusChanged() |
volume : float
このプロパティは、効果音再生の音量を 0.0(無音)~1.0(フル音量)で保持する。
アクセス機能
通知シグナル
void | volumeChanged() |
メンバ関数ドキュメント
[explicit]
QSoundEffect::QSoundEffect(QObject *parent = nullptr)
与えられたparent で QSoundEffect を作成します。
[explicit]
QSoundEffect::QSoundEffect(const QAudioDevice &audioDevice, QObject *parent = nullptr)
与えられたaudioDevice とparent を持つ QSoundEffect を作成します。
[override virtual noexcept]
QSoundEffect::~QSoundEffect()
この効果音を破壊する。
bool QSoundEffect::isLoaded() const
サウンドエフェクトがsource() の読み込みを終了したかどうかを返します。
bool QSoundEffect::isMuted() const
この効果音がミュートされているかどうかを返します。
注意: muted プロパティのゲッター関数です。
bool QSoundEffect::isPlaying() const
効果音が再生中の場合は true を、そうでない場合は false を返します。
注意: プロパティplaying のゲッター関数です。
[signal]
void QSoundEffect::loadedChanged()
loadedChanged
シグナルは、ロード状態が変化したときに発せられる。
int QSoundEffect::loopCount() const
この効果音が停止するまでに再生される合計回数を返します。
現在残っているループ回数については、loopsRemaining() メソッドを参照してください。
注: プロパティloops のゲッター関数です。
setLoopCount()も参照してください 。
[signal]
void QSoundEffect::loopCountChanged()
loopCountChanged
シグナルは、初期ループ数が変更されたときに発せられる。
注: loops プロパティのノーティファイア・シグナル。
[signal]
void QSoundEffect::loopsRemainingChanged()
loopsRemainingChanged
シグナルは、残りのループ数が変化したときに発せられる。
注: プロパティloopsRemaining に対するノーティファイア・シグナル。
[signal]
void QSoundEffect::mutedChanged()
mutedChanged
シグナルは、ミュート状態が変更されたときに発信される。
注: muted プロパティのノーティファイア・シグナル。
[slot]
void QSoundEffect::play()
サウンドエフェクトの再生を開始し、loopsプロパティで指定された回数だけエフェクトをループさせる。
[signal]
void QSoundEffect::playingChanged()
playingChanged
シグナルは、再生プロパティが変更されたときに発せられる。
注: プロパティplaying に対するノーティファイア・シグナル。
void QSoundEffect::setLoopCount(int loopCount)
このサウンドエフェクトの総再生回数をloopCount に設定します。
ループカウントを0または1に設定すると、効果音は1回だけ再生されます。QSoundEffect::Infinite
を渡すと、無限に繰り返します。効果音の再生中にループ回数を変更することも可能で、その場合は残りのループを新しいloopCount に更新します。
注: プロパティloops のセッター関数。
loopCount() およびloopsRemaining()も参照してください 。
void QSoundEffect::setMuted(bool muted)
この効果音の再生をミュートするかどうかを設定する。
muted が true の場合、再生はミュート(消音)され、そうでない場合は、現在指定されているvolume() で再生される。
注: プロパティmuted のセッター関数。
isMuted()も参照してください 。
void QSoundEffect::setSource(const QUrl &url)
再生する現在の URL をurl に設定する。
注: プロパティsource に対するセッター関数。
source()も参照 。
void QSoundEffect::setVolume(float volume)
効果音の音量をvolume に設定します。
音量は0.0
(無音) から1.0
(フル音量) まで直線的にスケーリングされます。この範囲外の値はクランプされます。
デフォルトの音量は1.0
です。
UIの音量コントロールは通常、非線形にスケーリングされるべきです。例えば、対数スケールを使用すると、知覚されるラウドネスが直線的に変化します。詳細はQtAudio::convertVolume() を参照。
注: プロパティvolume のセッター関数。
volume()も参照してください 。
QUrl QSoundEffect::source() const
現在再生しているソースの URL を返します。
注: プロパティソースに対するゲッター関数。
setSource()も参照 。
[signal]
void QSoundEffect::sourceChanged()
sourceChanged
シグナルは、ソースが変更されたときに発信されます。
注: source プロパティに対するノーティファイア・シグナル。
QSoundEffect::Status QSoundEffect::status() const
このサウンドエフェクトの現在のステータスを返します。
注: プロパティ状態のゲッター関数です。
[signal]
void QSoundEffect::statusChanged()
statusChanged
シグナルは、ステータスプロパティが変更されたときに発せられる。
注: プロパティstatus に対するノーティファイアシグナル。
[slot]
void QSoundEffect::stop()
現在の再生を停止する。
[static]
QStringList QSoundEffect::supportedMimeTypes()
このプラットフォームでサポートされている MIME タイプのリストを返します。
float QSoundEffect::volume() const
この効果音の現在の音量を、0.0(無音)から 1.0(最大音量)までで返します。
備考: Volumeプロパティのゲッター関数。
setVolume()も参照してください 。
[signal]
void QSoundEffect::volumeChanged()
volumeChanged
シグナルは、音量が変化したときに発せられる。
注: volume プロパティのノーティファイア・シグナル。
© 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.