Jeg bruger selv følgende funktion, som tager forbehold for forskellige operativsystemer:
#If Win32 Then 'Kontroller operativsystem, således at det rigtige API kaldes Declare Function sndPlaySound Lib "WINMM.DLL" Alias "sndPlaySoundA" _ (ByVal lpszSoundName As Any, ByVal uFlags As Long) As Long #Else Declare Function sndPlaySound Lib "MMSYSTEM.DLL" _ (ByVal lpszSoundName As Any, ByVal wFlags As Integer) As Integer #End If
Enum sndConst sndSYNC = 0 ' Vent indtil lyden er færdigafspillet sndASYNC = 1 ' Vent IKKE på afslutning sndNODEFAULT = 2 ' Spil ingen standardlyd, hvis lyden ikke findes sndMEMORY = 4 sndLOOP = 8 ' Spil lyden igen og igen indtil ny sndPlaySound-kald sndNOSTOP = 16 ' Afbryd ikke en spillende lyd End Enum
Global SoundBuffer As String
Eks: Public Sub PlaySound(FileName As String, sndConstant As sndConst) Call sndPlaySound(FileName, sndConstant) End Sub
har lige checket...du SKAL angive den fulde sti til lydfilen.
Prøv denne (ret stien):
Private Sub Timer1_Timer() Dim SoundName$ as String Dim wFlags% as Long SoundName$ = "C:\DitProgram\cash.wav" wFlags% = SND_ASYNC Or SND_NODEFAULT x% = sndPlaySound(SoundName$, wFlags%) MsgBox "Så Drikker Vi!" End Sub
fjern $ og % alle steder (de er heller ikke nødvendige, når du erklærer dem explicit)
Private Sub Timer1_Timer() Dim SoundName as String Dim wFlags as Long SoundName = "C:\DitProgram\cash.wav" wFlags = SND_ASYNC Or SND_NODEFAULT call sndPlaySound(SoundName$, wFlags) MsgBox "Så Drikker Vi!" End Sub
Option Explicit Dim Drik As Long ' Denne "declaration" er det der afspiller lydfilen, det er den der sætter den igang når timeren har kørt en omgang. Private Declare Function sndPlaySound Lib "winmm.dll" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long Const SND_SYNC = &H0 Const SND_ASYNC = &H1 Const SND_NODEFAULT = &H2 Const SND_LOOP = &H8 Const SND_NOSTOP = &H10
Private Sub Command1_Click() If Command1.Caption = "Start" Then Command1.Caption = "Stop" Do While Command1.Caption = "Stop" 'Her har jeg så deffineret hvor meget tid der skal være hvis man vælger de forskellige sværhedsgrader, fx får man 150 sekunder mere mellem hvert "Dong" hvis man vælger første sværhedsgrad Drik = 0 If lvl1.Value = True Then Drik = Drik + 15000 If lvl2.Value = True Then Drik = Drik + 10000 If lvl3.Value = True Then Drik = Drik + 5000 If lvl4.Value = True Then Drik = Drik + 1000
If lvl5.Value = True Then Drik = Drik + 100 If lvl6.Value = True Then Drik = Drik + 15000 If lvl7.Value = True Then Drik = Drik + 10000
'Her er så min timer funktion, den bliver aktiveret når jeg drikker på knappen start og "Drik" starter Timer1.Interval = Drik Timer1.Enabled = True DoEvents Loop Else Command1.Caption = "Start" Timer1.Enabled = False
End If End Sub
Private Sub Timer1_Timer() Dim SoundName As String Dim wFlags As Long SoundName = "C:\Programmering\cash.wav" wFlags = SND_ASYNC Or SND_NODEFAULT Call sndPlaySound(SoundName, wFlags) MsgBox "Så Drikker Vi!" End Sub
Se venligst bort fra at det er lidt underligt men :) sådan er Programmering C i Gymnasiet :D
kan ikke umiddelbart få det til at virke. Jeg er desværre nødt til at løbe nu, da min datter pludselig har kastet op i sin seng. Jeg vender tilbage i morgen tidlig.
Synes godt om
Ny brugerNybegynder
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.