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)


J'utilise un DispatcherTimer et voici ce que j'ai pour l'instant (donc, une progression linéaire)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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!!