Avatar billede Slettet bruger
22. oktober 2003 - 17:42 Der er 13 kommentarer og
1 løsning

Resorce i VB

Hey...

Jeg har en res fil i VB og jeg kunne godt tænke mig at tage en fil ud af den. Jeg fik hjælp i smp: http://www.eksperten.dk/spm/416123 til at afspille en wave fil i mit program, så nu kan man høre musik. Men nu kunne jeg godt tænke mig at tage wave filen(Også andre fil typer) ud når man f.eks køre programmet, en funktion så andre bruger kan tage filen ud hvis de vil...
Har nogle noget kode som kan gøre dettet vil jeg blige meget glad... :-)

Hilsen
911help
Avatar billede jrl0469 Nybegynder
23. oktober 2003 - 08:14 #1
G'morn
Jeg har ikke et svar men er blot nysgærig, mener du en recorder - funktion?

mvh Jan
Avatar billede Slettet bruger
23. oktober 2003 - 12:50 #2
Nej.. Et program som afspiller en baggrunds musik og hvis brugeren gerne vil have musikken ud og afspille den uden mit program, skal man kunne det...
Avatar billede jrl0469 Nybegynder
23. oktober 2003 - 13:11 #3
Er baggrundsmusikken ikke tilstæde som en ekstern resource for dit program?
Avatar billede Slettet bruger
23. oktober 2003 - 13:20 #4
Nej. Den er i mit program. Jeg kunne godt tænke mig at gøre sådan at man kan tage musik filen ud, hvis man gerne vil høre den uden mit program...
Avatar billede jrl0469 Nybegynder
23. oktober 2003 - 13:23 #5
Ok... Hvordan er musikken intigreret i dit program?
Avatar billede Slettet bruger
23. oktober 2003 - 13:27 #6
Via resorce editor i VB 6.0 og koden til at afspille den:

'Denne kode er nogle globale deklariationer som du putter ind i et modul (.bas)

Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Public Const SND_SYNC = &H0    ' Afspil synkront (default)
Public Const SND_ASYNC = &H1  ' Afspil asynkront
Public Const SND_MEMORY = &H4  ' Afspil fra Hukommelse (fra en String)
Public Const SND_LOOP = &H8    ' loop afspilning indtil næste sndPlaySound kommando
Public Const SND_NOSTOP = &H10 ' Stop ikke nuværende afspilning

'Herefter sætter du dette ind i en form med 2 Commandbuttons

Option Explicit

Dim Adresse As String
Dim Flag As Long

Private Sub PlayResSound(Res_Id As String, File_Type As String)
    On Error GoTo ErrHand
    Adresse = StrConv(LoadResData(Res_Id, File_Type), vbUnicode)
    sndPlaySound Adresse, Flag
    Exit Sub
ErrHand:
    MsgBox "Kan ikke afspille lyden"
End Sub

Private Sub Command1_Click()
    Flag = SND_ASYNC Or SND_MEMORY
    Call PlayResSound("LYD1", "WAVE")
End Sub

Private Sub Command2_Click()
    Flag = SND_ASYNC Or SND_MEMORY
    Call PlayResSound("LYD2", "WAVE")
End Sub

Private Sub Form_Load()
    Flag = SND_ASYNC Or SND_MEMORY
    Call PlayResSound("LYD1", "WAVE") 'her afspilles lyd 1 ved start af program
End Sub
Avatar billede Slettet bruger
23. oktober 2003 - 13:28 #7
Sorry: Resorce Editor = Resource Editor
Avatar billede jrl0469 Nybegynder
23. oktober 2003 - 13:35 #8
LYD1 og LYD2, er det oprindeligt fra wave filer (eller lignende)?
Avatar billede Slettet bruger
23. oktober 2003 - 14:11 #9
jep wave filer...
Avatar billede jrl0469 Nybegynder
23. oktober 2003 - 14:31 #10
Hva' så med at distribuere dem som zip filer placeret i en folder i -> app.path & "\zwavs" f.eks. <- altså simpelt hen have dem med i programmets setup program?
Avatar billede Slettet bruger
23. oktober 2003 - 14:40 #11
Har jeg tænkt over. Men jeg vil gerne have filerne ind i programmet. Da det nu er et joke program jeg vil lave, så vil det ikk være det godt at have lyd filerne læggene løst... Håber du forstår...
Avatar billede jrl0469 Nybegynder
23. oktober 2003 - 14:43 #12
Du kan jo gemme filerne bed et dummy extension (f.eks. *.dmy) derved kan ingen jo vide hvad de filer er beregnet til. Endvidere kan de gemmes i f.eks. c:\win eller et vilket som helst sted!
Avatar billede Slettet bruger
23. oktober 2003 - 14:48 #13
Tænker over det...
Avatar billede Slettet bruger
23. oktober 2003 - 15:05 #14
Lukker her... Lader bare ver med at trække filen ud...
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