Как воспроизводить звук в QML при отображении qml - PullRequest
0 голосов
/ 24 апреля 2018

Мне нужно воспроизвести звук в QML с помощью SoundEffect, но все примеры, которые я обнаружил, воспроизводят звук, основанный на каком-то событии (щелчок мышью и т. Д.), Но как воспроизвести звук, когда отображается qml?

Это пример с щелчком мыши:

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

1 Ответ

0 голосов
/ 24 апреля 2018

Вам, вероятно, нужен сигнал Component.completed, который испускается всякий раз, когда создается экземпляр объекта, реализующего компонент:

MouseArea {
    id: playArea
    Component.onCompleted: playSound.play()
}

Если это действительно графический элемент и вам нужен звук, воспроизводимый каждый раз, когда элемент становится видимым, то обработайте сигнал visibleChanged, например:

Rectangle {
    id: soundBox
    onVisibleChanged: if(visible) playSound.play()
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...