QSoundEffect Class

QSoundEffect 클래스는 지연 시간이 짧은 사운드 효과를 재생하는 방법을 제공합니다. 더 보기...

Header: #include <QSoundEffect>
CMake: find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia
QML에서: SoundEffect
상속합니다: QObject

공용 유형

enum Loop { Infinite }
enum Status { Null, Loading, Ready, Error }

속성

공용 기능

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 play()
void stop()

신호

정적 공용 멤버

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::Null0소스가 설정되지 않았거나 소스가 null입니다.
QSoundEffect::Loading1SoundEffect 에서 소스를 로드하려고 합니다.
QSoundEffect::Ready2소스가 로드되어 재생할 준비가 되었습니다.
QSoundEffect::Error3소스를 로드하지 못하는 등 작동 중 오류가 발생했습니다.

속성 문서

audioDevice : QAudioDevice

QAudioDevice 인스턴스를 반환합니다.

액세스 함수:

QAudioDevice audioDevice()
void setAudioDevice(const QAudioDevice &device)

알림 신호:

void audioDeviceChanged()

loops : int

이 속성은 사운드가 재생되는 횟수를 저장합니다. 값이 0 또는 1이면 사운드가 한 번만 재생되며, 무한 반복을 사용하려면 SoundEffect.무한으로 설정합니다.

이 값은 사운드 효과가 재생되는 동안 변경할 수 있으며, 이 경우 나머지 루프가 새 값으로 업데이트됩니다.

기능에 액세스합니다:

int loopCount() const
void setLoopCount(int loopCount)

알림 신호:

[read-only] loopsRemaining : const int

이 속성에는 사운드 효과가 자체적으로 중지되기까지 남은 루프 수( loops 에서 설정한 값인 경우 QSoundEffect::Infinite )가 포함됩니다.

함수에 액세스합니다:

int loopsRemaining() const

알림 신호:

muted : bool

이 속성은 음소거를 제어하는 방법을 제공합니다. true 값은 이 효과를 음소거합니다.

기능에 액세스합니다:

bool isMuted() const
void setMuted(bool muted)

알림 신호:

void mutedChanged()

[read-only] playing : const bool

이 속성은 사운드 효과의 재생 여부를 나타냅니다.

기능에 액세스합니다:

bool isPlaying() const

알림 신호:

source : QUrl

이 속성에는 재생할 사운드의 URL이 저장됩니다. SoundEffect 에서 소스를 로드하려면 URL이 존재해야 하고 애플리케이션에 지정된 디렉터리에 대한 읽기 권한이 있어야 합니다.

액세스 기능:

QUrl source() const
void setSource(const QUrl &url)

알림 신호:

void sourceChanged()

[read-only] status : const Status

이 속성은 QSoundEffect::Status 열거형에서 사운드 효과의 현재 상태를 나타냅니다.

함수에 액세스합니다:

QSoundEffect::Status status() const

알림 신호:

void statusChanged()

volume : float

이 속성은 0.0(무음)에서 1.0(최대 볼륨)까지 사운드 효과 재생의 볼륨을 유지합니다.

기능에 액세스합니다:

float volume() const
void setVolume(float volume)

알림 신호:

void volumeChanged()

멤버 함수 문서

[explicit] QSoundEffect::QSoundEffect(QObject *parent = nullptr)

주어진 parent 으로 QSoundEffect를 생성합니다.

[explicit] QSoundEffect::QSoundEffect(const QAudioDevice &audioDevice, QObject *parent = nullptr)

주어진 audioDeviceparent 로 QSoundEffect 를 생성합니다.

[override virtual noexcept] QSoundEffect::~QSoundEffect()

이 효과음을 소멸시킵니다.

bool QSoundEffect::isLoaded() const

사운드 효과의 로딩이 완료되었는지 여부( source())를 반환합니다.

bool QSoundEffect::isMuted() const

이 사운드 효과가 음소거되었는지 여부를 반환합니다.

참고: 프로퍼티에 대한 게터 함수 muted.

bool QSoundEffect::isPlaying() const

사운드 효과가 현재 재생 중이면 참을 반환하고, 그렇지 않으면 거짓을 반환합니다.

참고: 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()

사운드 효과 재생을 시작하여 루프 속성에 지정된 횟수만큼 효과를 반복합니다.

[signal] void QSoundEffect::playingChanged()

playingChanged 신호는 재생 중인 프로퍼티가 변경되면 발신됩니다.

참고: 프로퍼티에 대한 알림 신호 playing.

void QSoundEffect::setLoopCount(int loopCount)

이 사운드 효과를 재생할 총 횟수를 loopCount 으로 설정합니다.

루프 횟수를 0 또는 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을 반환합니다.

참고: 프로퍼티 소스에 대한 게터 함수입니다.

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()

이 플랫폼에서 지원되는 마임 유형 목록을 반환합니다.

float QSoundEffect::volume() const

이 사운드 효과의 현재 볼륨을 0.0(무음)에서 1.0(최대 볼륨)까지 반환합니다.

참고: 속성 볼륨에 대한 게터 함수입니다.

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.