4

I have a QML Audio element in my app that plays a sound. When I click a button I execute:

audio.play()

and when I click it again I execute:

audio.stop()

Ideally I would like to fade the sound in a little when the user clicks the button to play the sound, and fade it out a little when they press the button to stop the sound.

How do I do this?

3
  • 2
    Have you tried volume?
    – Goddard
    Aug 26, 2013 at 22:04
  • 1
    SoundEffect Element seems to have a volume property. Looping through it would do it, I think.
    – hytromo
    Aug 26, 2013 at 22:05
  • may be you can use PropertyAnimation with Audio's volume property, never tried myself though.
    – Kunal
    Aug 27, 2013 at 7:26

2 Answers 2

2

I don't know how to program QML, but here is something I found in the documentation

volumeCtrl.volume = Math.min(1, Math.max(0, mouse.x / (volumeBar.width - 1)));

Source : http://qt-project.org/doc/qt-5.0/qtmultimedia/multimedia-audioengine-qml-audioengine-qml.html

2

Use a number or property animation.

NumberAnimation{ id:audiofadeout; target: audioFile; property: "volume"; from:1; to: 0; duration:1000 }

Then execute w/

audiofadeout.start()



You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .