Windows Media player : affiche titre de la musique joué

Résolu/Fermé
little boy62 Messages postés 3593 Date d'inscription lundi 11 novembre 2013 Statut Membre Dernière intervention 16 décembre 2024 - 14 avril 2022 à 16:42
little boy62 Messages postés 3593 Date d'inscription lundi 11 novembre 2013 Statut Membre Dernière intervention 16 décembre 2024 - 9 mai 2022 à 19:46
Bonjour à toutes et à tous

J'ai décidé, car j'écoute souvent la musique que j'ai sur mon pc, de créer un script qui pourrait me lire mes playlists créés (via le même script).

Etant utilisateur de visual studio code, j'ai décidé d'ajouter l'outil "WindowsMediaPlayer".


J'ai réussi à faire ce que je voulais.

J'arrive à afficher le titre de la musique via un l'icone de notification (Un petit NotifyIcon et un contextmenustrip).
Mais via les contrôles directs de windows media player ; non.

Les fameux contrôles en image :


Voici le code :
Imports System.IO

Public Class Form1


    Dim dossier_media = ""
    ReadOnly plist = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\Playlist.m3u"
    ReadOnly plist_a = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\Playlist[AL].m3u"
    Dim media_imp = ""

    Protected Overrides Sub OnFormClosing(e As FormClosingEventArgs)
        If e.CloseReason = CloseReason.UserClosing Then
            Me.WindowState = FormWindowState.Minimized
            Me.Visible = False
            e.Cancel = True
        End If
        MyBase.OnFormClosing(e)
    End Sub

    Private Sub frmConsole_Move(sender As Object, e As EventArgs) Handles MyBase.Move
        If Me.WindowState = FormWindowState.Minimized Then
            Me.WindowState = FormWindowState.Minimized
            Me.Visible = False
        End If
    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Me.Text = "MonAutreLecteurMultimedia"
    End Sub

    Private Sub creer_pl_Click(sender As Object, e As EventArgs) Handles creer_pl.Click

        FolderBrowserDialog1.Description = "Choisissez le dossier où se situe votre musique"

        If (FolderBrowserDialog1.ShowDialog() = DialogResult.OK) Then

            dossier_media = FolderBrowserDialog1.SelectedPath
            If File.Exists(plist) Then File.Delete(plist)
            If File.Exists(plist_a) Then File.Delete(plist_a)
            Dim mamusique = ""

            For Each filename As String In IO.Directory.GetFiles(dossier_media, "*.*", IO.SearchOption.AllDirectories)
                If filename.EndsWith(".ac3") _
                    Or filename.EndsWith(".flac") _
                    Or filename.EndsWith(".mp3") _
                    Or filename.EndsWith(".wav") Then
                    mamusique &= filename + vbCrLf
                End If
            Next

            If mamusique <> "" Then
                Dim afile As New StreamWriter(plist, True)
                afile.Write(mamusique)
                afile.Close()
            End If

            If File.Exists(plist) Then
                File.Copy(plist, plist_a)
                Dim linesList As New List(Of String)(IO.File.ReadAllLines(plist_a))
                Dim newLinesList As New List(Of String)
                Randomize()
                While linesList.Count > 0
                    Dim randomIndex As Integer = Math.Floor(Rnd() * linesList.Count)
                    newLinesList.Add(linesList(randomIndex))
                    linesList.RemoveAt(randomIndex)
                End While
                File.WriteAllLines(plist_a, newLinesList.ToArray)
            End If

        End If

    End Sub

    Private Sub importer_media_Click(sender As Object, e As EventArgs) Handles importer_media.Click

        Dim extensions = ""

        extensions &= "Audio AAC (*.aac)|*.aac" + "|"
        extensions &= "Audio ADT (*.adt)|*.adt" + "|"
        extensions &= "Audio ADTS (*.adts)|*.adts" + "|"
        extensions &= "Audio AU (*.au)|*.au" + "|"
        extensions &= "Audio FLAC (*.flac)|*.flac" + "|"
        extensions &= "Audio M4A (*.m4a)|*.m4a" + "|"
        extensions &= "Audio MID/MIDI (*.mid;*.midi)|*.mid; *.midi" + "|"
        extensions &= "Audio MP1 (*.mp1)|*.mp1" + "|"
        extensions &= "Audio MP2 (*.mp2)|*.mp2" + "|"
        extensions &= "Audio MP3 (*.mp3)|*.mp3" + "|"
        extensions &= "Audio MPA (*.mpa)|*.mpa" + "|"
        extensions &= "Audio MPE (*.mpe)|*.mpe" + "|"
        extensions &= "Audio OGG (*.ogg)|*.ogg" + "|"
        extensions &= "Audio RMI (*.rmi)|*.rmi" + "|"
        extensions &= "Audio SND (*.snd)|*.snd" + "|"
        extensions &= "Audio WAV (*.wav)|*.wav" + "|"
        extensions &= "Audio WMA (*.wma)| *.wma" + "|"
        extensions &= "Digital Video Recording (*.dvr-ms)|*.dvr-ms" + "|"
        extensions &= "Echange audio AIF (*.aif)|*.aif" + "|"
        extensions &= "Echange audio AIFC (*.aifc)|*.aifc" + "|"
        extensions &= "Echange audio AIFF (*.aiff)|*.aiff" + "|"
        extensions &= "Méta-fichier au format texte ASX (*.asx)|*.asx" + "|"
        extensions &= "Playlist M3U (*.m3u)|*.m3u" + "|"
        extensions &= "Piste CD CDA (*.cda)|*.cda" + "|"
        extensions &= "Raccourci Internet WAX (*.wax)|*.wax" + "|"
        extensions &= "Vidéo 3G2 (*.3g2)|*.3g2" + "|"
        extensions &= "Vidéo 3GP (*.3gp)|*.3gp" + "|"
        extensions &= "Vidéo 3GP2 (*.3gp2)|*.3gp2" + "|"
        extensions &= "Vidéo 3GPP (*.3gpp)|*.3gpp" + "|"
        extensions &= "Vidéo ASF (*.asf)|*.asf" + "|"
        extensions &= "Vidéo AVI (*.avi)|*.avi" + "|"
        extensions &= "Vidéo Indeo IVF, (*.ivf)|*.ivf" + "|"
        extensions &= "Vidéo M4V (*.m4v)|*.m4v" + "|"
        extensions &= "Vidéo MKV (*.mkv)|*.mkv" + "|"
        extensions &= "Vidéo MOV (*.mov)|*.mov" + "|"
        extensions &= "Vidéo MP4 (*.mp4)|*.mp4" + "|"
        extensions &= "Vidéo MP4V (*.mp4v)|*.mp4v" + "|"
        extensions &= "Vidéo MPEG (*.mpg)|*.mpg" + "|"
        extensions &= "Vidéo MPEG (*.mpeg)|*.mpeg" + "|"
        extensions &= "Vidéo MPEG (*.m1v)|*.m1v" + "|"
        extensions &= "Video TS MPEG2 (*.m2ts)|*.m2ts" + "|"
        extensions &= "WVX (*.wvx)|*.wvx" + "|"
        extensions &= "WMX (*.wmx)|*.wmx;" + "|"
        extensions &= "WPL (*.wpl)|*.wpl"

        OpenFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
        OpenFileDialog1.FileName = ""
        OpenFileDialog1.Filter = extensions
        OpenFileDialog1.FilterIndex = 1
        OpenFileDialog1.RestoreDirectory = True
        Dim result As DialogResult = OpenFileDialog1.ShowDialog()
        OpenFileDialog1.Title = "Choissiez le media que vous souhaitez importer"
        If result = Windows.Forms.DialogResult.OK Then
            media_imp = OpenFileDialog1.FileName
            WindowsMediaPlayer1.settings.autoStart = True
            WindowsMediaPlayer1.URL = (Path.Combine(media_imp))
            Me.Text = WindowsMediaPlayer1.currentMedia.getItemInfo("Title")
        End If

    End Sub

    Private Sub PauseToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles pause.Click
        WindowsMediaPlayer1.Ctlcontrols.pause()
        Me.Text = WindowsMediaPlayer1.currentMedia.getItemInfo("Title")
    End Sub

    Private Sub reprise_Click(sender As Object, e As EventArgs) Handles reprise.Click
        WindowsMediaPlayer1.Ctlcontrols.play()
        Me.Text = WindowsMediaPlayer1.currentMedia.getItemInfo("Title")
    End Sub

    Private Sub precedent_Click(sender As Object, e As EventArgs) Handles precedent.Click
        WindowsMediaPlayer1.Ctlcontrols.previous()
        Me.Text = WindowsMediaPlayer1.currentMedia.getItemInfo("Title")
    End Sub

    Private Sub suivant_Click(sender As Object, e As EventArgs) Handles suivant.Click
        WindowsMediaPlayer1.Ctlcontrols.next()
        Me.Text = WindowsMediaPlayer1.currentMedia.getItemInfo("Title")
    End Sub

    Private Sub stop_lect_Click(sender As Object, e As EventArgs) Handles stop_lect.Click
        WindowsMediaPlayer1.Ctlcontrols.stop()
        Me.Text = "MonAutreLecteurMultimedia"
    End Sub

    Private Sub quitter_app_Click(sender As Object, e As EventArgs) Handles quitter_app.Click
        Application.Exit()
    End Sub

    Private Sub AfficherLeProgrammeToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AfficherLeProgrammeToolStripMenuItem.Click
        Me.Visible = True
        Me.WindowState = FormWindowState.Normal

    End Sub

End Class


Savez-vous s'il est possible de mettre à jour le titre de l'interface (Form) par le titre de la musique joué ?
Si oui, comment ?


Merci et bonne journée à tous.
++

Configuration: Windows / Opera 85.0.4341.68

A voir également:

4 réponses

yg_be Messages postés 23399 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 décembre 2024 Ambassadeur 1 556
15 avril 2022 à 10:28
bonjour,
tu te demandes comment trouver le titre de la musique, ou comment modifier le titre du formulaire?
0
little boy62 Messages postés 3593 Date d'inscription lundi 11 novembre 2013 Statut Membre Dernière intervention 16 décembre 2024 1 767
15 avril 2022 à 18:13
Salut.

Trouver le titre de la musique, je sais faire, via un bouton créé.

Modifier le titre de l'interface ( form ) par celui de la musique jouée (dans une playlist par exemple), je ne sais pas faire.
Le litre de la première musique : ça fonctionne.

Mais si je passe à la musique suivante, via le bouton précédent suivant intégré dans windows media player, je n'y arrive pas.

C'est là que je coince.


++

0
cinemahd22 Messages postés 1 Date d'inscription mercredi 20 avril 2022 Statut Membre Dernière intervention 20 avril 2022
20 avril 2022 à 10:48
C'est aussi ce que je recherche dans les applications de cinéma ces jours-ci
0
little boy62 Messages postés 3593 Date d'inscription lundi 11 novembre 2013 Statut Membre Dernière intervention 16 décembre 2024 1 767
20 avril 2022 à 11:32
Tu recherches quoi dans les applications de cinéma ?
0
little boy62 Messages postés 3593 Date d'inscription lundi 11 novembre 2013 Statut Membre Dernière intervention 16 décembre 2024 1 767
9 mai 2022 à 19:46
Petit retour.

J'ai laissé tombé, étant donné que :
- le script fonctionne bien
- le titre est affiché dans wmp lui-même.

Et je n'ai plus envie d'attendre la réponse de @cinemahd22 ^^

Je passe néanmoins en résolu, puisque c'était plus un aspect curiosité qu''un souci.


++
0