Jag har hittat ett bra ex på en mp3 spelare, men har råkat ut för lite "fel". jag använder följande kod i min mp3-spelare (varför gör alla egna mp3-spelare?) Tack, nu räknar han allt bra.Mp3-spelare och formatering av tid.
Så här ser "den lustiga" koden ut:
<code>
Private Sub MediaPlayer1_OpenStateChange(ByVal _
OldState As Long, ByVal NewState As Long)
Min = MediaPlayer1.Duration 60
Sec = MediaPlayer1.Duration - (Min * 60)
lblTotalTime = "Total Time: " & Format(Min, "0#") _
& ":" & Format(Sec, "0#") 'format time to 00:00
FileOpen = CBool(NewState)
End Sub
Private Sub Timer1_Timer()
Min = MediaPlayer1.CurrentPosition 60
Sec = MediaPlayer1.CurrentPosition - (Min * 60)
If Min > 0 Or Sec > 0 Then
lblElapsedTime = "Elapsed Time: " & Format(Min, "0#") _
& ":" & Format(Sec, "0#")
Else
lblElapsedTime = "Elapsed Time: 00:00"
End If
End Sub
</code>
Jag får fel på följande rader:
Min = MediaPlayer1.Duration 60
Min = MediaPlayer1.CurrentPosition 60
Det ser nog ut som om det fattas någonting där, men vad?
Jag har testat dom flesta tecken men icke.
Som koden är, så får jag fel, någon idé?Sv: Mp3-spelare och formatering av tid.
Borde vara ganska enkelt att förstå. Skicka mail till mig annars, fredrik@itbubblan.com
<code>
Private Sub Timer1_Timer()
Dim dMin, dSec
'sekunder
dSec = MediaPlayer1.CurrentPosition
'minuter
dMin = dSec / 60
'sekunder kvar när minutrarna är borta
dSec = dSec Mod 60
'följande rader snyggar till lite
If dMin >= 0 And dSec >= 0 Then
dSec = CStr(Int(dSec))
dMin = CStr(Int(dMin))
If Len(dSec) = 1 Then dSec = "0" & dSec
If Len(dMin) = 1 Then dMin = "0" & dMin
lblTime.Caption = dMin & ":" & dSec
Else
lblTime.Caption = "00:00"
End If
End Sub
</code>
Finns säkert bättre sätt, men det här fungerar för mina behovSv: Mp3-spelare och formatering av tid.
När jag använde din kod till bägge, så blev det kanon.
"Varför alla bygger mp3-spelare?"
JAg kan inte svara för alla, men jag bygger en för att plocka in i mitt project, där jag snappt kan lyssna på mina egna mp3 låtar, så väl som att göra en masse regestreringar.