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

Jayme65 64 Messages postés lundi 23 avril 2007Date d'inscription 15 décembre 2016 Dernière intervention - 17 janv. 2012 à 13:54 - Dernière réponse : Jayme65 64 Messages postés lundi 23 avril 2007Date d'inscription 15 décembre 2016 Dernière intervention
- 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 

2 réponses

Répondre au sujet
Jayme65 64 Messages postés lundi 23 avril 2007Date d'inscription 15 décembre 2016 Dernière intervention - 21 janv. 2012 à 12:19
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Jayme65
cs_Le Pivert 5067 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 23 avril 2018 Dernière intervention - 21 janv. 2012 à 11:28
0
Utile
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.