Om jag har en mp3-låt, och vill få fram längden på denna i minuter och sekunder i Visual Basic, hur gör jag då? Tiden ligger ju inte lagrad i id3-taggen tyvärr. Finns säkert massor med sätt, men det här fungerade för mig nu när jag testade: 1. Öppna ditt projekt eller skapa ett nytt. Ok, det var så lätt :) kanske är en dum fråga, men har du ändrat: Jag tittade just på det... Den är väl inte shift-känslig va?Hämta mp3-låtlängd
Windows lyckas ju få fram den i utforskaren ganska snabbt....
/DaPeSv: Hämta mp3-låtlängd
<b>1:</b> Sätt en referens till WindowsMediaPlayer (wmp.dll)
<b>2:</b> Följande kod
<code>
Private Sub Command1_Click()
Dim wmp As New WindowsMediaPlayer
wmp.settings.autoStart = False
wmp.URL = "C:\sökväg\till\fil.mp3"
MsgBox wmp.currentMedia.durationString
wmp.Close
End Sub
</code>
Fungerar säkert olika i olika versioner av WMP. Jag har version 10.Sv: Hämta mp3-låtlängd
2. Klicka på "Project" (menyn)
3. Klicka på References
4. Bläddra ner till Windows Media Player
5. Krysa i rutan och klicka på OK.
sen är det bara att köra med koden jag skickade tidigare.Sv: Hämta mp3-låtlängd
Men tyvärr får jag bara svaret 00:00 hela tiden...
/DaPe
EDIT: Kan även påpeka att jag bara har version 9.0.0.Sv: Hämta mp3-låtlängd
wmp.URL = "C:\sökväg\till\fil.mp3"
..till rätt sökväg? :)
om man skriver en sökväg som inte finns får man nämligen resultatet 00:00Sv: Hämta mp3-låtlängd
Jag skriver ut den sökväg jag matar in i Debug.Print, kopierar den och klistrar in utforskaren, och låten startar... Så det borde vara rätt :)
/DaPeSv: Hämta mp3-låtlängd
/DaPe
EDIT: nepp det är den inte...
Kan även passa på och fråga om du vet hur man sätter så att varje tecken i en RichTextBox blir en fast bredd, dvs. så att ett G är lika bred som ett mellanslag.