Gå til innhold

Anbefalte innlegg

Heisann folkens. Jeg begynte bare å programmere i VB for 2 uker siden og har nå støtt på et problem jeg ikke helt skjønner noe av. Hadde vært kjempefint om noen kunne hjelpet meg med det.

Jeg skal ha bakgrunnsmusikk når jeg åpner en form. Jeg lagde en mediaspiller kalt ole1. Jeg skrev :

 

Private Sub Form_Load()

OLE1.Action = 7

End Sub

 

 

Jeg satte så en sang i denne spilleren så den begynte å spille akkurat den sangen når formen åpnet seg. Dette fungerte kjempefint. Problemet er bare å få stoppet denne musikken igjen. Jeg lagde en command button og skrev :

 

Private sub command1_click ()

ole1.action = 0

End Sub

 

Men denne stopper bare sangen et lite øyeblikk og så starter den igjen. Dette problemet kommer bare når jeg skriver i form_load. Lager jeg to command buttons start og stopp fungerer det glimrende men det vil jeg ikke har :)

Noen som har svaret???????

Lenke til kommentar
Videoannonse
Annonse

Det kan være noe som gjør at form_load kommer hele tiden så dette vil gjøre koden bare en gang:

Private Sub Form_Load()
dim test as double 'hvis double ikke er noe, blir det automatisk 0

if test = 0 then
OLE1.Action = 7
test = 324 'nå kommer ikke koden til å starte mere
end if

End Sub

Dette vil også stoppe en MediaPlayer, prøv det:

OLE1.stop

Endret av Jonas
Lenke til kommentar
Private Sub Form_Load()
dim test as double 'hvis double ikke er noe, blir det automatisk 0

Hvorfor akkurat double? Integer blir da også 0 om den ikke er gitt noen verdi?

Fordi double var det første jeg kom på.

Lenke til kommentar

Jeg er ikke helt sikker på hvordan dette kan løses, ettersom du kan ha en annen versjon av Windows Media Player, men jeg mener denne koden vil fungere:

 

OLE1.Close

 

EDIT: Oi, beklager det der. Skrev Stop istedenfor Close.

Endret av aadnk
Lenke til kommentar

Er vel kanskje bare jeg som er dårlig til å forklare problemet eller noe sånt. Jeg har satt inn noe som heter OLE på venstre side. Den spør så om hva jeg vil sette inn av object og da velger jeg medieklipp. ole1.stop funger ikke. Det er ikke noe slikt alternativt som dukker opp heller. Forklarte dette mere kanskje?

Lenke til kommentar

Istedenfor å bruke en Ole, kan du bruke en MediaPlayer. Høyreklikk på den menyen - Components. Se helt nederst på lista og hak på "Win Media Player". Da er den i objekt-menyen.

 

Får å bruke den til å spiller av film klipp gjør du slik:

Private Sub Form_Load()
MediaPlayer1.ShowControls = False 'Den gjør så du ikke ser "status-baren" under

MediaPlayer1.FileName = "C:\mitt-klipp.wma"  'hva som skal spilles av
MediaPlayer1.Play 'spill av
End Sub

Og bruk denne for å stoppe:

MediaPlayer1.Stop 'stopper den

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...