このページでは

SoundEffect QML Type

SoundEffect 型は、QML で効果音を再生する方法を提供します。詳細...

Import Statement: import QtMultimedia
In C++: QSoundEffect

プロパティ

信号

方法

詳細説明

この型は、一般的に低レイテンシで非圧縮オーディオファイル(通常はWAVファイル)を再生することを可能にし、ユーザーのアクションに応答する「フィードバック」タイプのサウンド(例えば、仮想キーボードのサウンド、ポップアップダイアログの肯定的または否定的なフィードバック、またはゲームサウンド)に適しています。低レイテンシーが重要でない場合は、MediaPlayer 。様々なメディアフォーマットに対応し、リソース消費も少ないからです。

通常、サウンドエフェクトは再利用されるべきです。そうすることで、すべての解析と準備を前もって行い、必要な時にだけトリガーすることができます。QMLでは、SoundEffectのインスタンスを宣言し、それを他の場所で参照することができるので、これを簡単に実現することができます。

以下の例では、マウスクリック時にWAVファイルを再生します。

Text {
    text: "Click Me!";
    font.pointSize: 24;
    width: 150; height: 50;

    SoundEffect {
        id: playSound
        source: "soundeffect.wav"
    }
    MouseArea {
        id: playArea
        anchors.fill: parent
        onPressed: { playSound.play() }
    }
}

注: QSoundEffect は、モノラルまたはステレオのサウンドファイルのみをサポートしています。サンプリングレートが48000hzのサウンドファイルを使用することを推奨します。これは、ほとんどのプラットフォームで一般的なネイティブサンプリングレートです(QAudioDevice::preferredFormat() )。

プロパティ・ドキュメント

loops : int

このプロパティは、サウンドの再生回数を保持する。0または1の値は、サウンドが1回だけ再生されることを意味します。SoundEffect.Infiniteに設定すると、無限ループが可能になります。

サウンドエフェクトの再生中に値を変更することも可能で、その場合は残りのループが新しい値に更新されます。

loopsRemaining : int [read-only]

このプロパティは、サウンドエフェクトがそれ自体で停止するまでの残りのループ数を含んでいます。loops で設定されている場合は、SoundEffect.Infinite。

muted : bool

このプロパティは、ミュートを制御する方法を提供します。値がtrue の場合、このエフェクトはミュートされる。そうでない場合は、現在指定されているvolume で再生されます。

playing : bool [read-only]

このプロパティは、効果音が再生されているかどうかを示す。

source : url

このプロパティは、再生するサウンドのURLを保持します。SoundEffect がソースのロードを試みるには、その URL が存在し、アプリケーショ ンが指定されたディレクトリに読み込み権限を持っている必要があります。希望するソースがローカルファイルである場合、URLは絶対パスまたは相対パス(SoundEffect を宣言したファイルへのパス)のいずれかを使用して指定できます。

status : enumeration [read-only]

このプロパティは、SoundEffect 内で列挙されているSoundEffect の現在のステータスを示す。 可能なステータスを以下に示す。

説明
SoundEffectNullソースが設定されていないか、ソースが NULL です。
SoundEffect.LoadingSoundEffect はソースをロードしようとしています。
SoundEffect.Readyソースがロードされ、再生の準備ができています。
SoundEffectエラーソースの読み込みに失敗するなど、操作中にエラーが発生しました。

volume : real

このプロパティは、効果音再生の音量を保持する。

ボリュームは、0.0 (無音)から1.0 (フルボリューム)まで直線的にスケーリングされます。この範囲外の値はクランプされます。

デフォルトの音量は1.0 です。

UIの音量コントロールは通常、非線形にスケーリングされるべきです。例えば、対数スケールを使用すると、知覚されるラウドネスが直線的に変化します。詳しくはconvertVolume() を参照。

シグナル・ドキュメント

loadedChanged()

loadedChanged シグナルは、ロード状態が変更されたときに発せられる。

注: 対応するハンドラはonLoadedChanged です。

loopCountChanged()

loopCountChanged シグナルは、初期ループ数が変更されたときに発せられる。

注: 対応するハンドラはonLoopCountChanged

loopsRemainingChanged()

loopsRemainingChanged シグナルは、残りのループ数が変化したときに発せられる。

注: 対応するハンドラはonLoopsRemainingChanged

mutedChanged()

mutedChanged シグナルは、ミュート状態が変化したときに発せられる。

注: 対応するハンドラはonMutedChanged です。

playingChanged()

playingChanged シグナルは、再生プロパティが変更されたときに発せられる。

注: 対応するハンドラはonPlayingChanged です。

sourceChanged()

sourceChanged シグナルは、ソースが変更されたときに発せられる。

注: 対応するハンドラはonSourceChanged です。

statusChanged()

statusChanged シグナルは、ステータスプロパティが変更されたときに発せられる。

注: 対応するハンドラはonStatusChanged です。

volumeChanged()

volumeChanged シグナルは音量が変化したときに発せられる。

注: 対応するハンドラはonVolumeChanged です。

メソッド・ドキュメント

bool isLoaded()

サウンドエフェクトがsource のロードを終了したかどうかを返します。

void play()

サウンドエフェクトの再生を開始し、loops プロパティで指定された回数だけエフェクトをループさせる。

これはSoundEffect のデフォルトメソッドです。

SoundEffect {
    id: playSound
    source: "soundeffect.wav"
}
MouseArea {
    id: playArea
    anchors.fill: parent
    onPressed: { playSound.play() }
}

void stop()

現在の再生を停止する。

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