Strona g│≤wna

 

Odtwarzanie d╝wiΩk≤w w Delphi nie musi nastΩpowaµ bezpo╢rednio z komponentu MediaPlayer. Do tego celu mo┐na wykorzystaµ tak┐e modu│ MMSystem, kt≤ry niesie za sob▒ wiele mo┐liwo╢ci w zakresie odtwarzanie d╝wiΩk≤w itp. 

ZacznΩ od om≤wienia struktury funkcji PlaySound. Oto ona:

PlaySound(pszSound, PCHar; hmod: HMODULE; fdwSound: DWORD);

Oto wyja╢nienie jej parametr≤w: 

pszSound - Oznacza nazwΩ pliku lub pozycji rejestru.
hmod - je┐eli plik nie jest │adowany z zasobu ta warto╢µ powinna mieµ warto╢µ 0.
fdwSound - okre╢la tzw. flagi. W tym miejscu mo┐esz wstawiµ:

snd_Alias - pozycja jest odgrywana z rejestru.
snd_FileName - plik odgrywany jest z dysku.
snd_Purge - Polecenie to ko±czy odtwarzanie plik≤w muzycznych.
snd_Ansyc - odtwarzanie odbywa siΩ r≤wnocze╢nie z dzia│aniem aplikcaji.
snd_Loop - odtwarzanie nastΩpuje w spos≤b ci▒g│y.

Je┐eli chcesz odtworzyµ teraz jaki╢ plik d╝wiΩkowy z dysku to robisz tak:

PlaySound('C:\plik.wav', 0, SND_FILENAME);

To wszystko! Wystarczy tylko jedna linia! Mo┐esz te┐ odtwarzaµ d╝wiΩki systemowe. S▒ to d╝wiΩki jakie ustawiasz sobie w Windowsie (np. jaki d╝wiΩk ma byµ odtwarzany po uruchamianiu systemu). Czyli je┐eli chcesz odtworzyµ d╝wiΩk uruchamiania systemu robisz tak:

PlaySound('SystemStart', 0, SND_ALIAS);

Wszystkie d╝wiΩki wraz z ich angielskimi odpowiednikami mo┐na znale╝µ w rejestrze pod kluczem:
HKEY_CURRENT_USER\AppEvents\EventLabels

Mo┐e siΩ jednak zdarzyµ, ┐e d╝wiΩk nie uruchamiania systemu nie jest przypisany. Wtedy odtworzony zostanie standardowy d╝wiΩk: ding.wav.
Aby temu zapobiedz musisz zastosowaµ znacznik
SND_NODEFAULT.  BΩdzie to wygl▒da│o tak:

PlaySound('SystemStart', 0, SND_ALIAS or SND_NODEFAULT);

»eby wyciszyµ wszytkie d╝wiΩki tj. wy│▒czyµ je musisz zrobiµ co╢ takiego:

PlaySound(nil, 0, SND_PURGE);

To by by│o na tyle je╢li chodzi o funkcjΩ PlaySound. Teraz zajmiemy siΩ nagrywaniem d╝wiΩku i komponentem MediaPlayer

Komponent MediaPlayer jest rozbudowanym komponentem do odtwarzania film≤w, plik≤w *.mid ,*.wav, *.avi. Na samym pocz▒tku nale┐y przypisaµ warto╢µ FileName do pliku, kt≤ry masz zamiar odtwarzaµ. NastΩpnie nale┐y go otworzyµ no i odegraµ:

with MediaPlayer do
begin
   FileName := 'muzyka.mi';
   Open; // Otwarcie...
   Playe;  // Odtwarzanie...
end;

Przy pomocy tego komponentu mo┐na tak┐e nagrywaµ d╝wiΩki. Oto przyk│ad:

with MediaPlayer do
begin
  FileName := 'test.wav'; // nadanie nazwy
  Open;
  StartRecording; // rozpoczΩcie nagrywania
end;

Aby to teraz zatrzymaµ:

with MediaPlayer do
begin
  Stop; // zatrzymanie nagrywania
  FileName := 'plik.wav'; // nadanie nowej nazwy pliku
  Save; // zapisanie...
  Close; // zamkniΩcie
end;

Adam Boduch