Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse

du kan bruke resource filer til og lagre lyden i og laste den inn i programmet under runtime.. husk og legg til VB 6 Resource Editor i add-inn menyen... så legger du til en ny resource fil i Project -> Add New Resource File...

 

Using Resources in Code

Visual Basic provides three functions for retrieving data from the resource file for use in code.

 

Function Description

LoadResString Returns a text string.

LoadResPicture Returns a Picture object, such as a bitmap, icon, or cursor.

LoadResData Returns a Byte array. This is used for .wav files, for example.

^^ fra MSDN

Endret av Richard87
Lenke til kommentar

Dersom du av en eller annen grunn ikke finner Resource Editoren (som jeg uheldigvis til stadighet opplever), kan du gjøre dette manuelt. Les denne artikkelen.

 

Ellers spiller du av WAV-filen som følger:

 

' Source = http://support.microsoft.com/kb/q141505/
Private Declare Function sndPlaySound Lib "winmm" Alias "sndPlaySoundA" (lpszSoundName As Any, ByVal uFlags As Long) As Long
     
Private Const SND_SYNC = &H0
Private Const SND_NODEFAULT = &H2
Private Const SND_MEMORY = &H4
Private Const SND_LOOP = &H8
Private Const SND_NOSTOP = &H10
     
Public Sub PlayWaveRes(vntResourceID As Variant, Optional vntFlags)

   '-----------------------------------------------------------------
   ' WARNING:  If you want to play sound files asynchronously in
   '           Win32, then you MUST change bytSound() from a local
   '           variable to a module-level or static variable. Doing
   '           this prevents your array from being destroyed before
   '           sndPlaySound is complete. If you fail to do this, you
   '           will pass an invalid memory pointer, which will cause
   '           a GPF in the Multimedia Control Interface (MCI).
   '-----------------------------------------------------------------

   Dim bytSound() As Byte ' Always store binary data in byte arrays!

   bytSound = LoadResData(vntResourceID, "WAVE")

   If IsMissing(vntFlags) Then
      vntFlags = SND_NODEFAULT Or SND_SYNC Or SND_MEMORY
   End If

   If (vntFlags And SND_MEMORY) = 0 Then
      vntFlags = vntFlags Or SND_MEMORY
   End If

   sndPlaySound bytSound(0), vntFlags

End Sub

Lenke til kommentar

Har noen et eksempel på hvordan jeg kan få implentert den wav filen i selve exe filen jeg får det ikke til. Har lagt til den resource greia og skriver PlaySound(LoadResData 101, "Custom"), 0&, SND_RESOURCE or SND_ASYNC

 

men dette virker ikke

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å
×
×
  • Opprett ny...