Windows 7 Forum: konfiguracja, optymalizacja, porady, gadżety •
Dźwięki w Delphi - Wersja do druku

+- Windows 7 Forum: konfiguracja, optymalizacja, porady, gadżety • (http://windows7forum.pl)
+-- Dział: Pomoc i wsparcie, Windows 7 (/pomoc-i-wsparcie-windows-7-26-f)
+--- Dział: Software (/software-27-f)
+---- Dział: Kącik programistów (/kacik-programistow-53-f)
+---- Wątek: Dźwięki w Delphi (/dzwieki-w-delphi-20746-t)



Dźwięki w Delphi - DamiaX - 26.12.2011 21:13

Witam w tym poradniku napiszę w jaki sposób możemy odegrać dźwięk w naszym programie Uśmiechnięty.
Najpierw zabawimy się komponentem MediaPlayer.
A więc do działa.
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 mamy zamiar odegrać. Następnie należy go otworzyć no i odegrać:
Kod:
with MediaPlayer do
begin
   FileName : = 'piosenka.mid';
   Open; // Otwarcie...
   Play;  // Odtwarzanie...
end;
.
Odgrywanie dźwięku już mamy a więc możemy się też zająć nagrywaniem dźwięku.
Rozpoczęcie nagrywania:

Kod:
with MediaPlayer do
begin
  FileName : = 'uno.wav'; // nadanie nazwy plikowi
  Open;
  StartRecording; // rozpoczęcie nagrywania do pliku
end;
.

Zakończenie nagrywania:
Kod:
with MediaPlayer do
begin
  Stop; // zatrzymanie nagrywania
  FileName : = 'uno.wav'; // nadanie nowej nazwy pliku
  Save; // zapisanie...
  Close; // zamknięcie
end;
.

Teraz zajmijmy się funkcją PlaySound.
Dzięki niej odegramy pliki .wav.
Aby jej użyć do sekcji Uses dodajemy słowo MMSystem.

Struktura funkcji PlaySound.
Kod:
PlaySound(pszSound, PCHar; hmod:  HMODULE; fdwSound:  DWORD);

Objaśnienie :

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_FILMENAME - plik odgrywany jest z dysku.
SND_RESOURCE - plik odgrywany jest z zasobu.
SND_PURGE - Polecenie to kończy odtwarzanie plików muzycznych.
SND_ASYNC - odtwarzanie odbywa się równocześnie z działaniem aplikcaji.
SND_LOOP - odtwarzanie następuje w sposób ciągły.

Odgrywanie dźwięku przez funkcję PlaySound.

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

Zatrzymywanie odtwarzania dźwięku :
Kod:
PlaySound(nil, 0, SND_PURGE);
.

Kod:
Dźwięki Systemowe
.
Kod:
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
.

Jednak może się zdarzyć, że dźwięk uruchamiania systemu nie jest przepisany wtedy usłyszymy standardowy dźwięk ding.wav

Aby temu zapobiedz musimy zastosować znacznik SND_NODEFAULT. Po poprawie kod będzie wyglądał tak:
Kod:
PlaySound('SystemStart', 0, SND_ALIAS or SND_NODEFAULT);
.

I to już koniec tego artykułu Uśmiechnięty.
Myślę, że pomogłem tym artykułem.