Bonjour,
j'essaie d'ajouter à mon lecteur une playlist.
J'y parviens facilement avec l'objet WindowsMediaPlayer.
Mais pour utiliser un évènement change sur le changement d'un item j'utilise plutôt l'objet AxWindowsMediaPlayer.
voici le code:
voila le code, l'erreur se trouve ici:
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 using System.IO; using AxWMPLib; using WMPLib; //déclaration de mon lecteur: AxWindowsMediaPlayer playeraudio; //sur le click d'un bouton: private void btnLectureAudio_Click(object sender, EventArgs e) { // utilisation media player playeraudio = new AxWindowsMediaPlayer(); // Création playlist IWMPPlaylist playlist = playeraudio.playlistCollection.newPlaylist("maplaylist"); //ou : //var playlist = playeraudio.playlistCollection.newPlaylist("maplaylist"); //Indique le répertoire dans lequel chercher les fichiers audio DirectoryInfo dir = new System.IO.DirectoryInfo(RepMusic); FileInfo[] files = dir.GetFiles(); //boucle sur les fichiers du répertoire foreach (FileInfo music in files) { var media = playeraudio.newMedia(music.FullName.ToString()); playlist.appendItem(media); //remplit la playlist } playeraudio.currentPlaylist = playlist; //indique au player la playlist à utiliser playeraudio.settings.setMode("shuffle", true);// Configure le player en lecture aléatoire //crée un évenement sur changement item de la playlist playeraudio.CurrentItemChange += new AxWMPLib._WMPOCXEvents_CurrentItemChangeEventHandler(playeraudio_CurrentItemChange); //Lecture de la playlist playeraudio.Ctlcontrols.play(); playeraudio.Ctlcontrols.next(); } private void playeraudio_CurrentItemChange(object sender, _WMPOCXEvents_CurrentItemChangeEvent e) { string fichieraudio = Monaudio.RechercheNumChanson(playeraudio.currentMedia.name.ToString() + ".mp4"); lbinfoLecture.Text = "La chanson n° " + fichieraudio + " est en cours de lecture"; lbinfoLecture.Visible = true; }
le message d'erreur est celui-ci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 // Création playlist IWMPPlaylist playlist = playeraudio.playlistCollection.newPlaylist("maplaylist");
en fait je souhaite afficher dans un label le n° de la chanson de l'item de la playlist qui est en cours de lecture...Une exception non gérée du type 'System.Windows.Forms.AxHost.InvalidActiveXStateException' s'est produite dans AxInterop.WMPLib.dll
Avec WindowsMediaPlayer j'arrive à créer ma playlist mais pas l'évenement sur currentitemchange.
Avec AxWindowsMediaPlayer je n'arrive pas à créer ma playlist mais je parvient à créer l'évenement...
Bref, si quelqu'un arrive à me guider, je suis preneur...
Quelqu'un a-t-il une idée svp?
Partager