Miten saan selvitettyä koodista käsin miten pitkä jokin musiikki tiedosto on?
Entä miten voin säätää äänen voimakkuutta?
En halua käyttää sitä mediaplayer komponenttia..
tuomas kirjoitti:
Miten saan selvitettyä koodista käsin miten pitkä jokin musiikki tiedosto on?
Tämän tiedon selvittäminen ja moni muu asia onnistuu mciSendString-funktiolla. Tässä on esimerkki, joka selvittää kappaleen pituuden. Jos pituuden jakaa tuhannella, pitäisi saada selville kappaleen pituus sekunteina.
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long Private Sub Form_Load() Dim tiedosto As String, x As Long, p As String * 255 tiedosto = "c:\musa\testi.mp3" x = mciSendString("open " & tiedosto & " alias musa", 0, 0, 0) x = mciSendString("status musa length", p, 255, 0) MsgBox "Kesto on " & Val(p) / 1000 & " sekuntia." x = mciSendString("close musa", 0, 0, 0) End Sub
Samaa funktiota voit käyttää myös musiikin soittamiseen:
https://www.ohjelmointiputka.net/koodivinkit/
Täältä löytyy kaikki API-Funktiot esimerkkeineen... ;)
http://www.mentalis.org/apilist/apilist.php
Tässä suora linkki mciSendString-Funktioon...
Tuolla antamallasi koodilla en saanut musiikki tiedostojen oikeaa kestoa..
Kaikista tarkimpaan tulokseen pääsin kun jaoin keston kahdeksalla.
EDIT:
Entä tietäisikö kukaan miten saa selvitetty jonkin kappaleen nimen ja esittäjän?
MP3 tiedostot sisältävät tagin, joka pitää sisällään erilaista tietoa kappaleesta. Mikäli Tag on tiedostoa luotaessa asetettu se on luettavissa sieltä.
Netissä on Tagin lukemiseen useita ilmaisia luokkakirjastoja ja ActiveX komponentteja.
Yksi sellainen löytyy täältä: http://members.a1.net/pasce/ocx.htm
Aihe on jo aika vanha, joten et voi enää vastata siihen.