QSoundEffect Class
QSoundEffectクラスは、低レイテンシーの効果音を再生する方法を提供します。詳細...
Header: | #include <QSoundEffect> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
qmake: | QT += multimedia |
In QML: | SoundEffect |
Inherits: | QObject |
パブリックタイプ
プロパティ
|
パブリック関数
QSoundEffect(QObject *parent = nullptr) | |
QSoundEffect(const QAudioDevice &audioDevice, QObject *parent = nullptr) | |
virtual | ~QSoundEffect() |
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) |
Notifier シグナル:
void | audioDeviceChanged() |
loops : int
このプロパティは、サウンドの再生回数を保持する。0または1の値は、サウンドが1回だけ再生されることを意味します。SoundEffect.Infiniteに設定すると、無限ループが可能になります。
この値は、サウンドエフェクトの再生中に変更することができ、その場合、残りのループが新しい値に更新されます。
アクセス関数:
int | loopCount() const |
void | setLoopCount(int loopCount) |
Notifierシグナル:
void | loopCountChanged() |
[read-only]
loopsRemaining : const int
このプロパティには、サウンドエフェクトが単独で停止するまでの残りループ数、またはloops で設定されている場合はQSoundEffect::Infinite が含まれます。
アクセス関数
int | loopsRemaining() const |
ノーティファイアシグナル(Notifier signal):
void | loopsRemainingChanged() |
muted : bool
このプロパティは、ミュートをコントロールする方法を提供します。値がtrue
の場合、このエフェクトはミュートされます。
アクセス関数:
ノーティファイアシグナル:
void | mutedChanged() |
[read-only]
playing : const bool
このプロパティは、サウンドエフェクトが再生中かどうかを示します。
アクセス関数
bool | isPlaying() const |
Notifierシグナル
void | playingChanged() |
source : QUrl
このプロパティは、再生するサウンドのURLを保持します。SoundEffect がソースのロードを試みるには、URL が存在し、アプリケーショ ンが指定されたディレクトリに読み込み権限を持っている必要があります。
アクセス関数
Notifier シグナル:
void | sourceChanged() |
[read-only]
status : const Status
このプロパティは、QSoundEffect::Status の列挙から、サウンドエフェクトの現在のステータスを示します。
アクセス関数
QSoundEffect::Status | status() const |
ノーティファイアシグナル(Notifier signal):
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 を作成します。
[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 が真の場合、再生はミュート(消音)され、そうでない場合は、現在指定されている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 を返す。
注: プロパティ source のゲッター関数。
setSource()も参照 。
[signal]
void QSoundEffect::sourceChanged()
sourceChanged
シグナルは、ソースが変更されたときに発せられる。
注: プロパティsource に対するノーティファイアシグナル。
QSoundEffect::Status QSoundEffect::status() const
この効果音の現在の状態を返す。
注: プロパティ status のゲッター関数。
[signal]
void QSoundEffect::statusChanged()
statusChanged
シグナルは、status プロパティが変更された時に発せられる。
注: プロパティ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 のノーティファイア・シグナル。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。