[VB.NET][WPF] Gérer l'audio avec 'MediaPlayer'

Résolu
Jayme65 Messages postés 60 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 26 mars 2019 - 17 janv. 2012 à 13:54
Jayme65 Messages postés 60 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 26 mars 2019 - 21 janv. 2012 à 12:19
Bonjour,

Pour pouvoir utiliser le mp3 dans mon application j'ai décidé d'utiliser 'MediaPlayer'
Voici comment, basiquement, je l'utilise:

Dim backMusic as New MediaPlayer
backMusic.Open(New Uri("sbgm0005.mp3", UriKind.Relative))
backMusic.Volume = 0.1
backMusic.Play()


Et voici ma question:

Comment puis-je faire pour gérer l’arrêt de la chanson?
J'ai vu qu'il existait un évènement: 'MediaEnded', censé gérer la fin de la chanson...mais je ne vois pas comment le mettre en oeuvre (je suis...débutant ;-))

Commenr donc puis je utiliser un handler pour détecter la fin de la chanson?

D'avance merci pour toute aide que vous pourriez m'apporter!!

2 réponses

Jayme65 Messages postés 60 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 26 mars 2019 2
21 janv. 2012 à 12:19
Merci Pivert!
Entretemps j'ai découvert "une" façon de faire. En utilisant un handler sur 'MediaPlayer.MediaEnded'

Pour tous ceux qui auront besoin de l'information, voici donc du code pour utiliser 'MediaPlayer' et notamment pour gérer la fin de lecture (avec dans le cas repris ici une répétition en boucle du fichier audio):
Class MainWindow 
    Dim backMusic As New MediaPlayer
    Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
        AddHandler backMusic.MediaEnded, AddressOf backMusic_MediaEnded
        backMusic.Open(New Uri("sbgm0005.wav", UriKind.Relative))
        backMusic.Volume = 1
        backMusic.Play()
    End Sub
    Private Sub backMusic_MediaEnded(ByVal sender As Object, ByVal e As EventArgs)
        sender.Stop()
        sender.Position = TimeSpan.FromSeconds(0)
        sender.Play()
    End Sub
End Class
3
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
21 janv. 2012 à 11:28
Bonjour,
Regarde ce site:
http://silkyroad.developpez.com/VBA/WindowsMediaPlayer/
Dans la paragraphe: afficher la durée du morceau en cours.
Tu récupères la durée et tu stoppes ta musique à cet instant en utilisant un Timer réglé sur ce temps.
@+Le Pivert
0
Rejoignez-nous