siis kun en saa millään midi tiedostoja soimaan :(:( ... wavit kyllä soi.
kokeilin tuota Antin esimerkkiä vinkeissä mutta ei toiminut.
sitten kokeilin tätä: http://www.geocities.com/smigman.geo/mci/mid.
... osaisko kukaan sanoa miksi? =|
Soittaako sulla yleensäkään mikään ohjelma, kuten WMP, niitä?
kyllä
edit: https://www.ohjelmointiputka.net/keskustelu/5349-midit-soimaan-loputtomasti <- tuossakin gaxx oli saanut hyödynnettyä sitä linkkiä minkä sanoin, mutta en tajua mitä teen väärin ettei toimi mulla :( .. (mulla vb6)
Yksi perin rasittava vaikutustekijä tuossa on.. Eli, jos polku kappaleeseen on liian pitkä, ei välttämättä midi, mp3 yms lähde soimaan. Kokeileppa pistää c:n juureen joku midi yksinkertaisella nimellä..
Jos syy on tiedoston nimessä, kannattaa turvautua WinAPIn GetShortPathName-funktioon. Lisätietoa:
https://www.ohjelmointiputka.net/haku.php?sana=getshortpathname
syy oli juuri tuossa mitä tuomas sanoi :D .. eli tässä ainakin toimi:
'Moduli Declare Function mciSendString Lib "winmm.dll" Alias _ "mciSendStringA" (ByVal lpstrCommand As String, ByVal _ lpstrReturnString As Any, ByVal uReturnLength As Long, ByVal _ hwndCallback As Long) As Long 'Formi Private Sub Form_Load() i = mciSendString("open d:\uni.mid type sequencer alias mid1", 0&, 0, 0) i = mciSendString("play mid1", 0&, 0, 0) End Sub
olipa naurettavasta seikasta kiinni :D:D
... mutta kun pitäis saada soittetua se vähän muualtakin ku esim. d:n juuresta, ja koitin jotai tällasta:
Private Sub Form_Load() i = mciSendString("open app.path & "uni.mid" type sequencer alias mid1", 0&, 0, 0) i = mciSendString("play mid1", 0&, 0, 0) End Sub
sit rupes tulee herjaa: "Compile Error: Syntax Error"
ei ilmeisesti tykänny ku laitoin ton app.pathin tohon väliin.... vai kuinka..? =|
laita app.path & "\uni.mid"
sit heitti: "Compile Error: Expected list separator or )" heti kun olin saanu sen laitettuu siihen.. :(
CoDeR kirjoitti:
Private Sub Form_Load() i = mciSendString("open app.path & "uni.mid" type sequencer alias mid1", 0&, 0, 0) i = mciSendString("play mid1", 0&, 0, 0) End Sub
Private Sub Form_Load() i = mciSendString("open" & app.path & "\uni.mid" type sequencer alias mid1", 0&, 0, 0) i = mciSendString("play mid1", 0&, 0, 0) End Sub
Kolmas kerta toden sanoo?
i = mciSendString("open " & app.path & "\uni.mid type sequencer alias mid1", 0&, 0, 0)
eipä toimi ;(;( ..snif ... ei vaan ala soimaan :/
Onks sen midifileen polussa tai nimessä muuten välilyöntejä?
Laita nimi hipsuihin niin välilyönnit ei haittaa (muistaakseni oli näin)
i = mciSendString("open """ & app.path & "\uni.mid"" type sequencer alias mid1", 0&, 0, 0)
JES! kiitos meitsi! :D .. nyt toimii!
edit: hmm.. mitä jos haluaisin sen subiin (
Sub SoitaAani(nimi As String)
) ... ja sitten kutsun sitä esim form loadista että SoitaAani "uni" ... niin mitä siihen funktioon sitten pitäs kirjottaa? koitin tällasta:
i = mciSendString("open """ & App.Path & "\nimi.mid"" type sequencer alias mid1", 0&, 0, 0) i = mciSendString("play mid1", 0&, 0, 0)
mutta ei alkanu soittaan :(
edit2: sain jo ^^ :
i = mciSendString("open """ & App.Path & "\" & nimi & ".mid"" type sequencer alias mid1", 0&, 0, 0) i = mciSendString("play mid1", 0&, 0, 0)
Aihe on jo aika vanha, joten et voi enää vastata siihen.