TSpeaker Wersja 1.3 (11.05.2005)

dla Delphi oraz C++ Buildera

 

Spis treści

 

 

Klasa komponentu | Spis treści | Typy danych |

TSpeaker

 

Moduł

 

Speaker

 

Składnia

 

type

  TSpeaker = class(TComponent);

 

Opis

 

TSpeaker jest komponentem obsługującym standardowy głośniczek systemowy (PC-Speaker). Komponent umożliwia, m. in. łatwy wybór częstotliwości oraz czasu trwania dźwięku, a następnie bezproblemowe wygenerowanie dźwięku o tych właściwościach. Umożliwia również odsłuchanie tego dźwięku w trybie design-time.

 

 

 

TSpeakerClass

 

Moduł

 

Speaker

 

Składnia

 

type

  TSpeakerClass = class of TSpeaker;

 

Opis

 

Metaklasa klasy TSpeaker wskazująca na nią oraz na wszystkie klasy jej pochodne.

 

Typy danych | Spis treści | Klasa komponentu |

TCounter

 

Moduł

 

Speaker

 

Składnia

 

type

  TCounter = 1..MAXSHORT;

 

Opis

 

TCounter jest typem właściwości Counter przechowującej ilość powtórzeń dźwięków generowanych dla niektórych elementów typu TSoundMessage: smDazzle oraz smCountdown.

 

 

 

TFrequency

 

Moduł

 

Speaker

 

Składnia

 

type

  TFrequency = 37..MAXSHORT;

 

Opis

 

Typ wskazujący na minimalną oraz maksymalną częstotliwość pc-speakera; wykorzystywany jest przez właściwość Frequency.

 

 

 

TSoundMessage

 

Moduł

 

Speaker

 

Składnia

 

type 

  TSoundMessage = (smInformation, smDone, smWarning, smError,

    smNo, smWrong, smChord, smWhisle, smCall, smOldPhone, smWelcome,

    smOfficial, smDazzle, smFall, smCountdown, smHanging, smClimb,

    smDash, smDot, smAlarm

  );

 

Opis

 

Elementy typu TSoundMessage wskazują na predefiniowane wiadomości dźwiękowe. Element smAlarm został zachowany ze względów kompatybilności ze starszymi wersjami komponentu – obecnie jest wskazane zrezygnowanie z jego wykorzystywania na korzyść właściwości SoundAlarm i procedury EnableAlarm.

 

 

 

TSoundAlarm

 

Moduł

 

Speaker

 

Składnia

 

type

  TSoundAlarm = (saStandard, saYellow, saRed, saEmergency);

 

Opis

 

TSoundAlarm wskazuje na predefiniowane sygnały alarmowe.

 

 

 

TSoundType

 

Moduł

 

Speaker

 

Składnia

 

type

  TSoundType = (stNone, stSingle, stMessage, stAlarm, stMonitor,

    stSequence);

 

Opis

 

TSoundType jest typem, który w połączeniu ze zdarzeniem OnSound wskazuje na aktualnie generowany typ dźwięku.

 

 

 

 

TSoundEvent

 

Moduł

 

Speaker

 

Składnia

 

type

  TSoundEvent = procedure(Sender: TObject; Handled: Boolean

    SoundType: TSoundType) of object;

 

Opis

 

Typ TSoundEvent jest typem podstawowego zdarzenia OnSound komponentu TSpeaker.

 

Właściwości | Spis treści | Metody | Zdarzenia |

Counter

 

Składnia

 

property Counter: TCounter read FCounter write FCounter default 7;

 

Opis

 

W przypadku, gdy właściwość SoundMessage ma wartość smCountdown lub smDazzle, z tej właściwości jest odczytywana liczba sekund pozostałych do zakończenia odliczania (dla smCountdown) lub liczba powtórzeń sekwencji (dla smDazzle).

 

 

 

DesignMessage

 

Składnia

 

property DesignMessage: Boolean read FSetDesignMessage

  write SetDesignMessage stored False;

 

Opis

 

Jeśli SoundMessage nie jest równe smAlarm, zmienienie właściwości DesignMessage na True spowoduje odtworzenie wybranej widomości dźwiękowej w trybie design-time; jej zmienienie na True w trybie run-time spowoduje wyświetlenia komunikatu o błędzie.

 

 

 

DesignSound

 

Składnia

 

property DesignSound: Boolean read FSetDesignSound

  write SetDesignSound stored False;

 

Opis

 

Powoduje wygenerowanie dźwięku w trybie design-time zdefiniowanego przez właściwości Duration oraz Frequency. Odtworzenie dźwięku w tym trybie jest możliwe wówczas, gdy parametr Duration dźwięku jest mniejszy niż 15 sekund (15000 milisekund). Zmienienie wartości DesignSound na True w trybie run-time spowoduje wyświetlenia komunikatu o błędzie.

 

 

 

Frequency

 

Składnia

 

property Frequency: TFrequency read FFrequency write FFrequency

  default 100;

 

Opis

 

Określa częstotliwość generowania pojedynczego dźwięku (nie dotyczy sekwencji wiadomości dźwiękowych oraz dźwięków alarmowych).

 

 

 

Duration

 

Składnia

 

property Duration: Cardinal read FDuration write FDuration

  default 1000;

 

Opis

 

Określa czas trwania pojedynczego dźwięku (nie dotyczy sekwencji wiadomości dźwiękowych oraz dźwięków alarmowych). Czas jest mierzony w milisekundach.

 

 

 

SoundMessage

 

Składnia

 

property SoundMessage: TSoundMessage read FSoundMessage

  write FSoundMessage default smInformation;

 

Opis

 

Pozwala na wybór jednej z kilku predefiniowanych wiadomości dźwiękowych.

 

 

 

SoundAlarm

 

Składnia

 

property SoundAlarm: TSoundAlarm read FSoundAlarm

  write FSoundAlarm default  saStandard;

 

Opis

 

Pozwala na wybór jednego z kilku predefiniowanych sygnałów alarmowych.

 

Metody | Spis treści | Właściwości | Zdarzenia |

PlaySound

 

Składnia

 

procedure PlaySound; overload;

procedure PlaySound(AFrequency: TFrequency; ADuration: Cardinal);

  overload;

 

Opis

 

Wygenerowany zostanie dźwięk o określonej częstotliwości i czasie trwania.  Wartości te zostaną odczytane z właściwości Frequency oraz Duration (w przypadku procedury bez parametrów). Procedura z parametrami najpierw odpowiednio skonfiguruje komponent, a następnie wygeneruje zadany dźwięk.

 

 

 

PlayMessage

 

Składnia

 

procedure PlayMessage; overload;

procedure PlayMessage(ASoundMessage: TSoundMessage); overload;

 

Opis

 

Wygenerowany zostanie jeden z predefiniowanych dźwięków. Rodzaj dźwięku zostanie odczytany z właściwości SoundMessage (w przypadku procedury bez parametru). Procedura z parametrem najpierw odpowiednio skonfiguruje komponent, a następnie odtworzy zadaną sekwencję SoundMessage.

 

 

 

EnableAlarm

 

Składnia

 

procedure EnableAlarm;

 

Opis

 

Zostanie uruchomiony dźwięk alarmowy, którego rodzaj dźwięku zostanie odczytany z właściwości SoundAlarm.

 

 

 

DisableAlarm

 

Składnia

 

procedure DisableAlarm;

 

Opis

 

Procedura spowoduje wyłączenie dźwięku alarmowego.

 

 

 

EnableMonitor

 

Składnia

 

procedure EnableMonitor;

 

Opis

 

Procedura uruchomi cichy dźwięk, który może oznaczać, np. monitorowanie urządzenia, czy stan czuwania.

 

 

 

DisableMonitor

 

Składnia

 

procedure DisableMonitor;

 

Opis

 

Użyj procedury DisableMonitor, aby wyłączyć dźwięk monitora.

 

 

 

BeginSequence

 

Składnia

 

procedure BeginSequence;

 

Opis

 

Jeżeli w kodzie źródłowym swojego projektu ustawiasz własne sekwencje dźwięków, koniecznie użyj procedury BeginSequence przed tą sekwencją w celu prawidłowej obsługi zdarzenia OnSound (zob. przykład).

 

 

 

EndSequence

 

Składnia

 

procedure EndSequence;

 

Opis

 

Jeżeli przed sekwencję dźwięków została użyta procedura BeginSequence, bezpośrednio po zakończeniu tej sekwencji należy wywołać procedurę EndSequence (w celu prawidłowej obsługi zdarzenia OnSound.- zob. przykład).

 

Zdarzenia | Spis treści | Właściwości | Metody |

OnSound

 

Składnia

 

property OnSound: TSoundEvent read FOnSound write FOnSound;

 

Opis

 

Użyj zdarzenia OnSound, aby zareagować na generowanie sygnału dźwiękowego przez komponent TSpeaker. Parametr Handled procedury zdarzeniowej informuje, czy dźwięk jest aktualnie generowany. Parametr SoundType podczas generowania dźwięku będzie przechowywał jego typ (zob. TSoundType).

 

Przykłady zastosowań | Spis treści | Właściwości | Metody | Zdarzenia | Typy |

Przykładowe kody

 

Generowanie sekwencji dźwięków

 

procedure TForm1.Button3Click(Sender: TObject);

var

  I: Integer;

begin

  with Speaker1 do

  begin

    BeginSequence;

    for I := 125 to 175 do

    begin

      Frequency := Low(TFrequency) + (I * 10);

      Duration := I div 4;

      PlaySound;

    end;

    EndSequence;

  end;

end;

 

 

Zdarzenie OnSound

 

procedure TForm1.Speaker1Sound(Sender: TObject; Handled: Boolean;

  SoundType: TSoundType);

begin

  CheckBox1.Checked := Handled;

  case SoundType of

    stNone: Caption := 'Wyłączony';

    stSingle: Caption := 'Pojedynczy';

    stMessage: Caption := 'Wiadomość';

    stAlarm: Caption := 'Alarm';

    stMonitor: Caption := 'Monitor';

    stSequence: Caption := 'Sekwencja';

  end;

end;

 

 

 

Gdzie TSpeaker może się przydać?

 

Przykładowe zastosowania:

 

  • Przy tworzeniu najbardziej podstawowych programów wszystkich komputerów klasy PC – BIOS-ów oraz ich programów konfiguracyjnych
  • W emulatorach starych komputerów oraz konsol do gier
  • W programach wykonujących czasochłonne operacje, np. kompresorach nagrań wideo, programach renderujących złożone sceny 3D, itp.
  • W systemach zabezpieczeń serwerów klasy PC (administrator szybciej „zaskoczy” jak usłyszy przenikliwy pisk wydobywający się z wnętrza rozgrzanego do 80°C serwera)
  • W programowych zaporach ogniowych (firewall) oraz we wszystkich innych programach służących do zabezpieczania komputerów

 

Wiele innych zastosowań zależy tylko i wyłącznie od pomysłowości programistów.

 

Informacje | Spis treści | Góra |

Komponent

 

Wersja

 

TSpeaker 1.3.11.5.2005

 

Producent

 

Copyright (C) MacroSoftware 2002-2005, 2003-2005

Autor: Wojciech Pawelczyk

Email: msoft@epf.pl

 

 

 

Licencja

 

Wykorzystanie niekomercyjne

 

Komponent TSpeaker jest w pełni darmowy do wykorzystania w projektach niekomercyjnych, jednocześnie pozbawionych jakichkolwiek funkcji szpiegowskich oraz reklamowych. Ponadto należy odnotować w końcowej wersji projektu (tzn. przeznaczonej do dystrybucji i użytku), że korzysta on z komponentu TSpeaker (np. w dokumentacji, oknie informacyjnym, itp.).

 

Wykorzystanie komercyjne

 

Komponent TSpeaker nie jest darmowy przy wykorzystaniu go w projektach komercyjnych. Warunki wykorzystania komercyjnego są do uzgodnienia z autorem (email: msoft@epf.pl).