Kirjoittaja: Antti Laaksonen
Kirjoitettu: 18.05.2002 – 29.05.2012
Tagit: ääni, koodi näytille, vinkki
Huomasinkin juuri, ettei Ohjelmointiputkassa ole ollenkaan vinkkiä MP3-tiedoston soittamiseen, joten tässä tulee. Ohjelma ei tarvitse mitään Media-kontrolleja tai muita lisäpalikoita, vaan se käyttää Api-funktiota mciSendString soittamiseen.
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 Sub SoitaMP3(tiedosto As String, alias As String) Dim x As Long x = mciSendString("open " + Chr(34) + tiedosto + Chr(34) + " alias " + alias, 0&, 0, 0) x = mciSendString("play " + alias, 0&, 0, 0) End Sub Sub SuljeMP3(alias As String) Dim x As Long x = mciSendString("close " + alias, 0&, 0, 0) End Sub Private Sub Form_Load() SoitaMP3 "[mp3:n nimi tähän].mp3", "biisi" End Sub Private Sub Form_Unload(Cancel As Integer) SuljeMP3 "biisi" End Sub
Onko tossa joku raja kuin pitkä se biisi saa olla, kun en saa mitään pitkiä kappaleita soimaan ton avulla?
Ei toimi sitten Win95:llä :(
Kah toimii! iha ok...
Näköjään kappaleet, joiden tiedostonimessä on välilyönti, eivät kuulu.
Ihan OK, mutta SoitaMP3 aliohjelmaan kannattaa muuttaa siten että tiedoston nimi tulee lainausmerkkien sisään eli seuraavasti:
x = mciSendString("open " + Chr(34) + tiedosto + Chr(34) + " alias " + alias, 0&, 0, 0)
Tuon jälkeen se soittaa nekin tiedostot joiden nimessä on välilyöntejä.
ajattelin viritellä jonku list ja sit ite sais add:ää siihen biisit mitkä haluu :)
Tota mulla Visual Basic3 ja siinä ei pysty liittämään tekstiä tiedostoihin pitääkö mun kirjoittaa kaiken itse?
Miten tuota sovelletaan käytännössä? Mihin kohtaan syötetään tiedoston polku ja mihin kohtiin syötetään mp3 tiedoston nimi
varmaankin samaan kansioon ohjelman kannsa laitetaan tiedotot.. ja jos haluaa soittaa eri kansiossa niin kansion sijainti tuohom ja sitten tiedoton nimi.. emt.. voisin kokeilla muokata tuota mitä kivaa saan aiknaa.. hyvö vinkki..
mulla ei toimi miksi
Pekka Kauppila kirjoitti:
Tuon jälkeen se soittaa nekin tiedostot joiden nimessä on välilyöntejä.
Mulla lakkas VB5:lla soittamasta kokonaan, kun kokeilin tuota.
Petesku kirjoitti:
Tota mulla Visual Basic3 ja siinä ei pysty liittämään tekstiä tiedostoihin pitääkö mun kirjoittaa kaiken itse?
Pystyyhän sillä liittämään. Valikosta "Edit" löytyy "Paste".
Ultima kirjoitti:
Miten tuota sovelletaan käytännössä? Mihin kohtaan syötetään tiedoston polku ja mihin kohtiin syötetään mp3 tiedoston nimi
No lukeehan tuossa Form_Loadissa se kohta, mihin nimi pitää kirjoittaa.
Hienosti toimii. Kai tuo Pekan neuvokin toimii sitten VB6:lla.
Toimiikohan tuo VB 3:lla kun mulla ei toimi?
Private Declare Function
Tuo declare tuottaa jonkinlaisen virheilmoituksen...
Heh, mulla toi kappale jäi soimaan taustalle, vaikka ohjelma sammu
muumitalolta unohtu mp3 lukita yöksi, hei muumitalo... unohdit dim i as long: i = mciSendString("close " + alias, 0&, 0, 0) :)
miten tuohon valitaan se mp3 tiedosto en saa toimimaan
tää on oikea..
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 Sub SoitaMP3(tiedosto As String, alias As String) Dim x As Long x = mciSendString("open " + Chr(34) + tiedosto + Chr(34) + " alias " + alias, 0&, 0, 0) x = mciSendString("play " + alias, 0&, 0, 0) End Sub Sub SuljeMP3(alias As String) Dim x As Long x = mciSendString("close " + alias, 0&, 0, 0) End Sub Private Sub Form_Load() SoitaMP3 "[mp3:n nimi tähän].mp3", "biisi" End Sub Private Sub Form_Unload(Cancel As Integer) SuljeMP3 "biisi" End Sub
Mikä koodi on moduliin MP3:sesta??
Ei mikään.
Entäs resurssitiedostosta?