2010-12-10 70 views
0

J'ai un sérieux problème avec mon application VB 6. Dans ce document, j'ai une référence à wmp.dll dans un formulaire, l'idée de lire des fichiers vidéo multimédia, j'ai un ListView appelé LV1 dans lequel je montre les noms de fichiers de playlist. Je souhaite connaître l'index actuel de la playlist actuelle.Aide avec wmp.dll (Windows Media Player) à vb 6

Ce sous est chargé de détecter les changements:

Private Sub Wmp1_CurrentItemChange(ByVal pdispMedia As Object) 

je peux obtenir le nombre totall dans la liste de lecture avec cette ligne:

Val=Wmp1.currentPlaylist.Count 

Comment puis-je obtenir la piste en cours (index) en reproduction, si je veux coordonner cela avec ma ListView, pour sélectionner la même piste avec le même index dans la playlist.

Merci pour votre aide.

+0

** Est-ce que cela fonctionnait pour vous? ** La façon dont vous dites que c'est un problème "sérieux" me fait penser que c'est maintenant cassé. Ou demandez-vous plutôt "est-ce possible?" –

+0

M. cody quand j'ai dit "sérieux" c'est comme "Ce problème me rend fou". quand vous avez un code source sans résoudre ce tour et rond à vous toute la journée. – Geovanny1974

Répondre

1

Vous pouvez utiliser setItemInfo sur les médias avant d'ajouter à currentPlaylist comme ceci:

Option Explicit 

Private Sub Form_Load() 
    Dim sFile  As String 
    Dim oMedia  As IWMPMedia 

    sFile = Dir("c:\temp\*.avi") 
    Do While LenB(sFile) <> 0 
     Set oMedia = Wmp1.newMedia("c:\temp\" & sFile) 
     oMedia.setItemInfo "Index", Wmp1.currentPlaylist.Count 
     Wmp1.currentPlaylist.appendItem oMedia 
     sFile = Dir 
    Loop 
End Sub 

Private Sub Wmp1_CurrentItemChange(ByVal pdispMedia As Object) 
    Debug.Print Wmp1.currentPlaylist.Item(Wmp1.currentMedia.getItemInfo("Index")).Name 
End Sub 
1

Ceci est la réponse. Vous devez effectuer une nouvelle recherche dans la boucle

Dim i As Integer 

For i = 0 To WindowsMediaPlayer1.currentPlaylist.Count - 1 
If WindowsMediaPlayer1.currentPlaylist.Item(i).isIdentical(WindowsMediaPlayer1.currentMedia) = True Then Exit For 
Next 

List1.Selected(i) = True