이 페이지에서

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이면 사운드가 한 번만 재생되며, 무한 반복을 활성화하려면 SoundEffect.Infinite로 설정하십시오.

이 값은 음향 효과가 재생되는 도중에도 변경할 수 있으며, 이 경우 남은 재생 횟수가 새로운 값으로 업데이트됩니다.

loopsRemaining : int [read-only]

이 속성은 음향이 자동으로 멈출 때까지 남은 루프 횟수, 즉 ` SoundEffect`를 나타냅니다. ` loops`에서 ‘무한’으로 설정된 경우에는 ‘무한’을 반환합니다.

muted : bool

이 속성은 음소거를 제어하는 방법을 제공합니다. 값이 ` true `인 경우 이 이펙트의 소리가 음소거됩니다. 그렇지 않은 경우, 현재 지정된 ` volume`에 따라 재생이 이루어집니다.

playing : bool [read-only]

이 속성은 효과음이 재생 중인지 여부를 나타냅니다.

source : url

이 속성은 재생할 사운드의 URL을 저장합니다. SoundEffect 이 소스 파일을 불러오려면, 해당 URL이 존재해야 하며 애플리케이션이 지정된 디렉터리에 대한 읽기 권한을 가지고 있어야 합니다. 원하는 소스가 로컬 파일인 경우, URL은 절대 경로 또는 ( SoundEffect 를 선언한 파일을 기준으로 한) 상대 경로를 사용하여 지정할 수 있습니다.

status : enumeration [read-only]

이 속성은 SoundEffect 에서 열거된 대로 SoundEffect 의 현재 상태를 나타냅니다. 가능한 상태는 다음과 같습니다.

값설명
SoundEffect.Null소스가 설정되지 않았거나 소스가 null입니다.
SoundEffect.LoadingSoundEffect 가 소스를 로드하려고 합니다.
SoundEffect.준비됨소스가 로드되어 재생 준비가 완료되었습니다.
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 신호는 playing 속성이 변경되었을 때 발생합니다.

참고: 이에 대응하는핸들러는 ` onPlayingChanged`입니다.

sourceChanged()

소스가 변경되면 sourceChanged 신호가 발생합니다.

참고: 이에 해당하는핸들러는 onSourceChanged 입니다.

statusChanged()

status 속성이 변경되면 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.