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