2010-12-10 14 views
0

私は私のVB 6アプリケーションに深刻な問題があります。その中には、wmp.dllのフォームがあり、再生メディアファイルのアイデアがあります。再生リストのファイル名を示すLV1というListViewがあります。現在のプレイリストから現在のインデックスを知りたいvb 6へのwmp.dll(Windowsメディアプレーヤー)のヘルプ

このサブは、変化を検出する担当している:

Private Sub Wmp1_CurrentItemChange(ByVal pdispMedia As Object) 

私はこのラインでのプレイリストにtotall数を取得することができます:私は現在のトラック(インデックスを取得するにはどうすればよい

Val=Wmp1.currentPlaylist.Count 

を)再生リスト内の同じインデックスを持つ同じトラックを選択するために、ListViewでこれを調整したい場合は、

ありがとうございました。

+0

**これは以前の仕事ではありましたか?**「深刻な」問題であると言われていますが、今は壊れていると思います。あるいは、代わりに「これは可能ですか?」と尋ねていますか? –

+0

Mr Cody私が「深刻」と言ったとき、「この問題は私を狂わせます」のようなものです。あなたがこのラウンドを解決せずにソースコードを持っていれば、あなたはいつも一日中です。 – Geovanny1974

答えて

1

あなたはこのようcurrentPlaylistに添加する前にメディアにsetItemInfoを使用することができます。

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