我的VB 6应用程序存在严重问题。在其中,我在表单中引用了wmp.dll
,它是播放媒体视频文件的想法,我有一个名为LV1
的ListView,其中我显示了播放列表文件名。我想知道当前播放列表的当前索引。
该子负责检测变化:
Private Sub Wmp1_CurrentItemChange(ByVal pdispMedia As Object)
我可以用这一行将总计数计入播放列表:
Val=Wmp1.currentPlaylist.Count
如果我希望与我的ListView协调,我如何获得当前曲目(索引),以便在播放列表中选择具有相同索引的相同曲目。
感谢您的帮助。
答案 0 :(得分: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 :(得分: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