2010-12-10 70 views
0

我有一個嚴重的問題,我的VB 6應用程序。其中,我有一個參考wmp.dll在表單中,它的想法是播放媒體視頻文件,我有一個名爲LV1的ListView,我在其中顯示播放列表文件名。我想知道當前播放列表中的當前索引。幫助wmp.dll(Windows媒體播放器)vb 6

此子是負責檢測的變化:

Private Sub Wmp1_CurrentItemChange(ByVal pdispMedia As Object) 

我可以得到totall數與該行的播放列表:

Val=Wmp1.currentPlaylist.Count 

我怎樣才能獲得當前軌(指數)在複製中,如果我想與我的ListView進行協調,選擇播放列表中具有相同索引的相同音軌。

感謝您的幫助。

+0

**這是否以前適合你?**你說這是一個「嚴重」的問題,使我覺得它現在已經壞了。或者你問「這是可能的嗎?」 – 2010-12-10 17:49:45

+0

科迪先生,當我說「嚴重」,就像「這個問題驅使我瘋狂」。當你有一個源代碼而沒有整天解決你的問題。 – Geovanny1974 2010-12-13 14:21:20

回答

1

您可以使用媒體setItemInfo增加currentPlaylist這樣前:

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

這就是答案。你必須在循環中再次搜索

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