Progression de volume non linéaire avec un DispatcherTimer
Bonjour,
Je voudrais reproduire une effet de fade-in (progression de 0 à 100) au début de la lecture d'un son. Et je voudrais que cette progression ne soit pas linéaire, mais plutôt du style ease-in (exponentielle)
http://www.overidon.com/wp-content/u...3/fade-ins.jpg
J'utilise un DispatcherTimer et voici ce que j'ai pour l'instant (donc, une progression linéaire)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| Imports System.Windows.Threading
Dim FadeTimer As DispatcherTimer = New DispatcherTimer()
AddHandler FadeTimer.Tick, AddressOf FadeIn
FadeTimer.Interval = TimeSpan.FromMilliseconds(25)
Public Sub FadeIn(ByVal sender As Object, ByVal e As EventArgs)
If UISound.musicPlayer.settings.volume < My.Settings.music_volume Then
'UISound est ma class qui gère le son - musicPlayer est un WMPlib - My.Settings.music_volume est le volume du son maximal
UISound.musicPlayer.settings.volume += 1
CommandManager.InvalidateRequerySuggested()
Else
FadeTimer.Stop()
End If
End Sub
FadeTimer.Start() |
Comment puis-je donc, à l'aide d'un DispatcherTimer faire "monter" le son de façon exponentielle?
Merci pour le temps que vous voudrez bien prendre pour m'y aider!!