Jag börjar närmar mig en färdig pryl nu, men det återstår en del. du ska väl bara spela nästa låt när första är klar?Spela hela sånglistan...
Jag skulle vilja ha möjlighet att spela hela sånglistan.
Listans innehåll sammlar jag in så här:
<code>
Sub SpelaHelaListan()
Dim i As Long
For i = 0 To songlista.ListCount - 1
Dim sFile As String
sFile = songlista.List(i)
LoadWave
Next i
End Sub
</code>
Jag har alltså laddat in en textfil i en listbox och får fram namnen här.
I normala fall, så klickar jag på en knapp för att spela, koden ser ut så här:
<code>
Dim flag As Long, i As Long
LoadWave
flag = 0
If chTester1_Loop.Value <> 0 Then flag = 1
m_dsBuffer(0).Play flag
</code>
I suben LoadWave, så ser det bl a ut så här:
<code>
sFile = songlista.Text
If Err.Number <> 0 Then
MsgBox Err.Description
End If
FileLength = FileLen(sFile)
Set m_dsBuffer(0) = m_ds.CreateSoundBufferFromFile(sFile, bufferDesc, waveFormat)
</code>
songlista är där som titlar finns.
Slutligen, suben som jag fick hjäp av bl a Sven, där den fixar en progressbar(labeler)
<code>
Private Sub Timer3_Timer()
Dim i As Long
pBar(tickCount).BackColor = &HFF00&
If tickCount = 19 Then
Timer1.Enabled = False
eInfo.Caption = "Klar"
tickCount = 0
For i = 0 To 19
pBar(i).BackColor = &HC0C0C0
Next i
If m_dsBuffer(0) Is Nothing Then 'Exit Sub
Set m_dsBuffer(0) = Nothing
End If
RensaTextrutorna
'MsgBox "Låten slut Timer3" '****************************************
If ChListan Then
SpelaHelaListan
End If
End If
tickCount = tickCount + 1
End Sub
</code>
Jag har försökt på alla de sätt att koppla så att låtarna spelas en efter en i listan, men förgäves.
Några förslag??
Jag har försökt på Sv: Spela hela sånglistan...
'Titta om vi spelat sista låten
if songlista.listindex = songlista.listcount-1 then
'jepp, börja från början
songlista.listindex = 0
else
'annars, markera nästa låt
songlista.listindex=songlista.listindex + 1
end if
' denna ska vi spela
LoadWave songlistan.list(songlistan.listindex)
som du ser så tycker jag att din loadwave rutin ska ta en parameter med filnamnet på låten som ska spelas. Programmet blir snyggare uppbyggt då.