Salve a tutti,
giorni fa ho deciso di implementare un lettore Mp3 all'interno della mia applicazione. Quindi ho cominciato a creare l'interfaccia ed il relativo codice; usando Visual Basic 6.0, che si compone dei seguenti componenti: una Funzione Dir per reperire la directory voluta, una funzione File che racchiude tutti i file della directory stessa, ed infine i tasti di riproduzione (Play – Pause – Stop - > - <). A questo punto però la mia poca esperienza, mi ha bloccato, ed ho pensato bene di chiedere il vostro preziosissimo aiuto.
Di seguito vi espongo il problema:

Appena lancio la mia applicazione, seleziono un file mp3 presente all’interno della lista di File1; e clicco sul tasto Play (Label5). A questo punto va a chiamare tramite una Call, una sub routine presente in un modulo:

Private Sub Label5_Click()
If Label6.Caption = " play" Then
Label6.Caption = " pause"
End If

Call Play(Dir1.Path & "\" & File1.FileName)

End Sub


Public Sub Play(MpegAudio As String)
Dim lngLen As Long, strShort As String * 255, strPlay As String
Call mciSendString("stop mp3play", 0, 0, 0)
Call mciSendString("close mp3play", 0, 0, 0)
lngLen = GetShortPathName(MpegAudio, strShort, 255)
strPlay = Left(strShort, lngLen)
Call mciSendString("open " & strPlay & " type mpegvideo alias mp3play", 0, 0, 0)
Call mciSendString("play mp3play", 0, 0, 0)
End Sub

Poi tramite i pulsanti > e < mi sposto tra i file :


Private Sub Label8_Click() ( > )
If File1.ListIndex <> File1.ListCount - 1 Then
File1.ListIndex = File1.ListIndex + 1
Call Play(Dir1.Path & "/" & File1.FileName)
Else
Exit Sub
End If
End Sub


Private Sub Label9_Click() ( < )
If File1.ListIndex <> 0 Then
File1.ListIndex = File1.ListIndex - 1
Call Play(Dir1.Path & "/" & File1.FileName)
Else
Exit Sub
End If
End Sub

A questo punto, oltre che spostarmi all’interno della lista, tramite i tasti > e <; vorrei che dopo aver fatto Play sulla 1° canzone della lista, proceda in modo continuo fino alla fine della stessa. Le ho provate di tutte; perfino nell’inserire il codice della (Label8), direttamente all’interno della Form Load..e come risultato, dopo aver percorso tutta la lista, mi ha eseguito solo l’ultima canzone della stessa.

Vi ringrazio anticipatamente per il vostro aiuto, e vi porgo i più distinti saluti.


Nicola