täällä on noi midi, waw ja mp3 tiedoston soittoon esimerkit, mutta en oo saanu niitä mitään toimimaan?
missä sen kappaleen pitää olla jotta se toimii?
Kappaleen nimen lisäksi on annettava hakemistopolku, esimerkiksi c:\musiikit\kappale.mp3 .
miksei tää toimi
Soitamp3 "commondialog1.filename", "biisi"
Soitamp3 CommonDialog1.FileName, "biisi"
tää toimii mutta jos nimessä on jossain kohtaa välilyönti se ei tajua sitä miten saan sen toimiin.
Onko muuten mitään muita keinoja saada päällekkäin kuulumaan kappaleita kuin se joku DMC vai mikä se oli... mutta ois hyvä, tietysti niitä on muita :) Ajatella joku Renegade käyttäis tota :) hehh heh.
PeeCee, olen törmännyt juuri tuohon samaan ongelman mciSendStringin kanssa. Se ei yksinkertaisesti tunnu tunnistavan tiedostonimiä, joiden keskellä on väli. Ehkä parasta on kopioida tiedosto uuden nimiseksi väliaikaisesti:
FileCopy "Tiedostossa vali.mp3", "soitettava.mp3"
SoitaMP3 "soitettava.mp3,"biisi"
Kill "soitettava.mp3"
murea kuhassa ne nouvvo tällästä
while(*filename) {if(*filename == ' ') *filename = ö; filename++;}
miksei tää toimi
CommonDialog1.Filter = "kaikki(*.*)|*.*|biitit(*.mp3)|*.mp3"
CommonDialog1.FilterIndex = 2
CommonDialog1.Action = 1
CommonDialog1.filename = "soitettava.mp3"
Soitamp3 "soitettava.mp3", "biisi"
Ei tuo Mureakuhan koodi ainakaan Visual Basicia ole...
Yritä vaikka tällä tavalla:
CommonDialog1.Filter = "kaikki(*.*)|*.*|biitit(*.mp3)|*.mp3"
CommonDialog1.FilterIndex = 2
CommonDialog1.Action = 1
FileCopy CommanDialog1.FileName, "soitettava.mp3"
SoitaMP3 "soitettava.mp3, "biisi"
Ja ohjelman Unloadiin:
Kill "soitettava.mp3
ei toimi.
Taisin tehdä pari kirjoitusvirhettä. Tämä toimi minulla CommonDialog-kontrollin kanssa:
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 " + tiedosto + " 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_Click() CommonDialog1.Filter = "kaikki(*.*)|*.*|biitit(*.mp3)|*.mp3" CommonDialog1.FilterIndex = 2 CommonDialog1.Action = 1 FileCopy CommonDialog1.FileName, "c:\soitettava.mp3" SoitaMP3 "c:\soitettava.mp3", "biisi" 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
eikös toi murea kuhan homma ollut C++?
Oli C:tä jep. Tietysti jos välejä ei kerran saa olla niin voisi kai sen polun laittaa DOS-tyylisesti tilden (~) avulla.
Mutta miten se commondialog sen tekee?
Vai saako sillä muutettua filenamen sellaseksi?
Jos johonkin peliin tekee niin käyttää _ merkkiä... Mutta
jos tekee musiikki ohjelmaa niin miten sitten?
Aihe on jo aika vanha, joten et voi enää vastata siihen.