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

Messages postés
66
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
26 mars 2019
- - Dernière réponse : Jayme65
Messages postés
66
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!!
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
66
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
26 mars 2019
1
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 144 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Jayme65
Messages postés
6051
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
24 mai 2019
79
0
Merci
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
Commenter la réponse de cs_Le Pivert