Avatar billede tctommy Nybegynder
31. januar 2001 - 17:32 Der er 9 kommentarer og
1 løsning

Afspil Wav-fil

Hvordan kan jeg, når en MDIForm eller MDIChild til at afspille en wav-fil eller en avi-fil når den startes op ?
Avi-filen skulle helst gerne vises direkte på formen uden andre ting...d.v.s play eller stop-knapper.
Avatar billede joern Nybegynder
31. januar 2001 - 18:04 #1
Indsæt komponenten \"Windows Media Player\", i dens properties kan du indstille at knapperne ikke vises.  Lyd kan du se et svar på under et spørgsmål som jeg svarede på forleden dag, skal lige finde det.

M.v.h.  Jørn
Avatar billede joern Nybegynder
31. januar 2001 - 18:06 #2
Hej Tommy det er http://www.eksperten.dk/spm/46158

Bemærk at svaret består af 2 dele, jeg havde først glemt noget til modulet.

m.v.h.  Jørn
Avatar billede tctommy Nybegynder
31. januar 2001 - 18:41 #3
Til at afspille wav-filen får jeg desværre denne besked : File not found: mmsystem.dll

Hvorfor ?
Avatar billede joern Nybegynder
31. januar 2001 - 20:03 #4
Hej Tommy.
Sikke noget!  Det må jo være fordi du ikke har filen i din \\windows\\system, den er ellers almindeligt udbredt.  Er det en meget ny installation du anvender af styresystemet?
Opgiv mail-adr. så kan jeg sende dig en kopi af min.  Den fylder ca. 110 kB og er fra 5. maj 1999.

Hvilken VB arbejder du med?  Du skal nok lære Microsofts Download-sider at kende gennem din VB-karriere.

M.v.h.  Jørn
Avatar billede tctommy Nybegynder
31. januar 2001 - 20:27 #5
Det var bare en dummert fra min side. Jeg glemte at tilføje \'option explicit\'
Men da jeg gjorde det, dukkede et nyt problem op :

wflags% = snd_async And snd_nodefault

snd_async gav en fejlmedling
Jeg prøvede at ændre til snd_sync og snd_asyn
men så var det bare wflags% der gav fejlmelding.

Jeg bruger Win98se, og VB 6.0 Pro Edition
og filen \'mmsystem.dll\' er fra samme dato som din.

Min E-mail er : tctommy@mail.tele.dk
Avatar billede joern Nybegynder
31. januar 2001 - 21:47 #6
Hej Tommy.

Jeg regner med at du har forstået det 2-delte svar og indsat i et modul (modul.bas):
Declare Function sndPlaySound Lib \"mmsystem.dll\" (ByVal lydfilnavn$, ByVal wflags%) As Integer 

Koden er ikke genskrevet hertil, men kopieret fra en kildetekst, hvor den virker.  VB5 på win98, men den virker også i VB3 på win311.

    lyd = app.Path & \"\\filnavn.wav\"
    wflags% = snd_async And snd_nodefault
    Y = sndPlaySound(lyd, wflags%)

Y skal måske være long, det skader vel ikke.  Lyd skal selvfølgelig være en string.
Jeg går ud fra du \"dim\'er\".    wav-filen skal eksistere, her i app.path.

Option explicit anvender jeg ikke,  og det kan ikke have betydning for om VB kan finde mmsystem.dll.  Prøv evt. med en Y as variant, det bliver den hvis du helt undlader at Dim\'me den, - og option explicit ikke er aktiv!  Jeg anvender så få restriktioner i min kode, som muligt.

M.v.h.  Jørn

Avatar billede tctommy Nybegynder
01. februar 2001 - 19:50 #7
Nu har jeg fulgt din hjælp punkt for punkt...fjernet \'option explicit\' igen og den melder stadig fejl ved mmsystem.dll
Wav-filen ligger i den samme mappe som projektet

Min form ser sådan ud :

Private Sub Form_Load()

  Dim lyd As String, Y As Single (har prøvet Y as Long, og Y as Variant)
   
    lyd = App.Path & \"\\Track01.wav\"
    wflags% = snd_async And snd_nodefault
    Y = sndPlaySound(lyd, wflags%) <--- Henviser altid hertil

End Sub

Mit modul ser sådan ud :

Declare Function sndPlaySound Lib \"mmsystem.dll\" (ByVal lydfilnavn$, ByVal wflags%) As Integer

Global Const SND_SYNC = &H0
Global Const SND_ASYN = &H1
Global Const snd_nodefault = &H2
Global Const SND_LOOP = &H8
Global Const SND_NOSTOP = &H10

Ser det ikke rigtigt ud ?


Avatar billede joern Nybegynder
01. februar 2001 - 20:29 #8
Hej Tommy.

Det ser rigtigt ud.  Jeg laver senere i aften en ny mini test-applikation og afprøver. Så hører du fra mig.

M.v.h.  Jørn
Avatar billede joern Nybegynder
01. februar 2001 - 21:15 #9
Hej Tommy.

Her er en \"snyder\".  wplany.exe er en lille lydafspiller til wav.  Den fylder 50 kB og jeg kan sende dig den med en mail

Shell (App.Path & \"\\wplany.exe \" & lydfil)

Jeg vender stadig tilbage med den anden løsning.

M.v.h.  Jørn
Avatar billede joern Nybegynder
01. februar 2001 - 22:51 #10
Tommy.
mmsystem.dll er jo en fil til 16-bit miljø, og mens den angivne kode fungerer i et VB3 projekt, kan jeg heller ikke få den til det i VB5.  Jeg forsøger at finde en måde at angive at mmsystem.dll skal genkendes af projektet, men det er ikke lykkedes.  Den kan næppe tilføjes som AktiveX-komponent. 
Har lavet projekt som indeholder både funktionen sndplaysound og wplany (som virker helt i baggrunden) så du kan få din lyd.  Projektet er zippet til 53 kB.

M.v.h.  Jørn
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester