Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Musiikki

tuomas [18.05.2004 21:51:30]

#

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..

Antti Laaksonen [18.05.2004 22:37:52]

#

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/23545-vb6-mp3-tiedoston-soittaminen

JoreSoft [19.05.2004 10:26:20]

#

Täältä löytyy kaikki API-Funktiot esimerkkeineen... ;)
http://www.mentalis.org/apilist/apilist.php

Tässä suora linkki mciSendString-Funktioon...

http://www.mentalis.org/apilist/mciSendString.shtml

tuomas [20.05.2004 13:56:47]

#

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?

Antti [20.05.2004 18:00:21]

#

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

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta