Avatar billede mrcorex Nybegynder
02. december 2005 - 20:00 Der er 8 kommentarer og
1 løsning

Afspille wavs simultant

Hej alle.

Jeg har ledt og ledt efter noget som kunne afspille wavs simultant, altså flere ad gangen.

Der er en gut som har skrevet "Delphi WaveMix v.1.24" som kan hentes på http://www.carlosb.com men det kan jeg ikke få installeret.

Jeg kører Delphi 7 Personal. Og, indrømmet, jeg er newbie på Delphi så der er mange termer jeg nok ikke lige forstår. :)

Håber I kan hjælpe med noget nyt source-kode eller komponent. Jeg har sat max point på og ville gerne hæve det mere. Det haster lidt for mig at få det her sat igang.

/CoRex
Avatar billede stone Forsker
02. december 2005 - 21:15 #1
her er en måde hvordan du kan samle dine wav. filer i din exe fil.
Lad os antage du har 2 wav filer, help.wav og help1.wav.
Brug Notepad(eller din favorit tekst Editor)opret en ny fil, og skriv følgende:
HELP.WAV  \"help.wav\"
Help1.WAV \"help1.wav\"
opret et bibliotek med navnet resource
Gem filen som *.rc, jeg vælger Sounds.rc
brug filerne brcc32.exe og rv32core.dll(som følger med i delphi x. til at compile din *rc fil (skal være i samme bibliotek som din *rc fil)
Dette vil lave en SOUNDS.RES fil.
I din main unit under{ $R*.DFM} skriv {$R SOUNDS.RES}
her er så koderne som du kan vælge skal aktiveres via en knap eller andet:
PlaySound(PChar(\'help\'),hInstance,snd_Sync or nsd_Resource);
PlaySound(PChar(\'help1\'),hInstance,snd_Async or nsd_Resource);
hvis du vælger at bruge \"Async\" bliver wav filen afbrudt ved lukning af program,ellers kører den wav filen færdig, før programmet lukker
Har du ikke filerne BRCC32.EXE OG RW32CORE.DLL kan jeg maile dem.
Avatar billede stone Forsker
02. december 2005 - 21:19 #2
Ved at bruge snd_Sync ved kald afbrydes help ikke når help1 bliver kaldt, og derved afspille filerne simultant....
//stone
Avatar billede mrcorex Nybegynder
02. december 2005 - 22:02 #3
Det holder så bare ikke stik. Den du beskriver der har jeg allerede prøvet. Og jeg skal kunne starte og stoppe dem uafhængig af hinanden.
Avatar billede lsc Nybegynder
03. december 2005 - 05:50 #4
Smid 2 MediaPlayers på formen og skriv fx.

procedure TForm1.FormActivate(Sender: TObject);
begin
  With MediaPlayer1 do begin
    Filename := 'fil1.wav'; //specify sound file
    ShowHint := True; //show buttons hints
    Shareable := True; //allow others to use the same .wav file
    VisibleButtons := [btPlay, btStop]; //limit to just two buttons
    Open; //play it
  end;
  With MediaPlayer2 do begin
    Filename := 'fil2.wav'; //specify sound file
    ShowHint := True; //show buttons hints
    Shareable := True; //allow others to use the same .wav file
    VisibleButtons := [btPlay, btStop]; //limit to just two buttons
    Open; //play it
  end;
end;
Avatar billede mrcorex Nybegynder
03. december 2005 - 13:03 #5
Den har jeg også prøvet. Og jeg ved også godt den virker. Men det er muligt jeg skal bruge op til 5 tracks på en gang. Så jeg ville bare se om der var alternativer til TMediaPlayer. Det er lidt mange MediaPlayer's at droppe på en form.

Det som jeg nok har glemt at skrive også er at den skal kunne fade lyd ud og ind. Kan MediaPlayer det ?
Avatar billede mrcorex Nybegynder
03. december 2005 - 14:05 #6
Ups, en ting jeg også glemte at sige :( Jeg skal kunne angive om de skal loades ind i memory. Jeg har allerede noget kode som kan loade det ind i memory. Men at få det til at spille i flere spor ad gangen ved jeg ikke hvordan man gør. Den kode bruger funktionen sndPlaySound() til det.
Avatar billede lsc Nybegynder
03. december 2005 - 18:25 #7
5 tracks er da ikke så meget på en form, men det med at fade in og out tror jeg ikke kan lade sig gøre med TMediaPlayer.
Dér skal du nok have fat i nogle helt specielle objekter hvis du vil lave dit eget "lydstudie".
Avatar billede mrcorex Nybegynder
23. august 2010 - 13:52 #8
Lukker!
Avatar billede mrcorex Nybegynder
23. august 2010 - 13:53 #9
Og så som svar.........
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