Mega Code Archive

 
Categories / Delphi / Multimedia
 

Wave dosyasi nasil calinir, nasil exe icine gomulur

Bir cok program kucuk wave dosyalarini dagitmaktansa dogrudan programin icinden calmaktadir. Bu islemi Delphi'den yapmak icin: 1. Project|Resources komutu verin. 2. Gelen pencerede sag tiklayip New|User Data komutu verin. 3. Resource Type olarak "WAVE" girin. 4. Istediginiz wav uzantili dosyayi secin. 5. Delphi varsayilan olarak WAVE_1 ismini verecektir. Bunu herhangi bir sayiyla degistirin. (Uzerinde sag tiklaip ReName komutu vererek) Örnegin: 1 Asagida benim kullandigim procedure'lari veriyorum: ************************************************************************** function PlayWavFromResource(ResID: Integer): Boolean; begin Result := PlaySound(PChar('#' + IntToStr(ResID)), HInstance, SND_RESOURCE or SND_ASYNC); end; function PlayWavFile(const FileName: string): Boolean; begin Result := PlaySound(PChar(FileName), 0, SND_ASYNC); end; procedure StopWav; var buffer: array[0..2] of char; begin buffer[0] := #0; PlaySound(Buffer, 0, SND_PURGE); end; ************************************************************************** PlayWavFromResource procedure'i programin icerisinde gomulu olan wave dosyasini calacaktir. Parametre olarak gonderdiginiz deger yukarıda ismini degistirdiginiz (WAVE_1 -> 1) degerdir. Örnegin: procedure TForm1.Button1Click(Sender: TObject); begin StopWav; PlayWavFromResource(1); end; ************************************************************************** Notlar: - Resource Type olarak sadece WAVE girmeniz gereklidir. - Cok buyuk Wave dosyalarini exe'nin icine gommek yerine ayri dosya olarak dagitin. Disardaki bir wave dosyasini calmak icin PlayWavFile isimli procedure'i kullanabilirsiniz. - StopWav isimli procedure o anda sistemde calinan bir ses dosyasi varsa calmayi durduracaktir. - PlayWavFromResource ve PlayWavFile isimli procedure'lar calma islemini arka planda yapacaktir. Yani programiniz ses dosyasi calarken calismaya devam edebilir.