Omówienie architektury dźwięku

Flash Player 9 i nowsze wersje, Adobe AIR 1.0 i nowsze wersje

Aplikacje użytkownika mogą ładować dane dźwiękowe z pięciu głównych źródeł:

  • Zewnętrzne pliki dźwiękowe ładowane w czasie wykonywania

  • Zasoby dźwiękowe osadzone w pliku SWF aplikacji

  • Dane dźwiękowe z mikrofonu dołączonego do systemu użytkownika

  • Dane dźwiękowe przesłane strumieniowo ze zdalnego serwera multimediów, takiego jak Flash Media Server

  • Dane dźwiękowe generowane dynamicznie za pośrednictwem modułu obsługi zdarzeń sampleData

Dane dźwiękowe można w pełni załadować jeszcze przed rozpoczęciem odtwarzania, lub mogą być one przesyłane strumieniowo, co oznacza ich odtwarzanie jeszcze w trakcie ładowania.

Klasy dot. dźwięku w języku ActionScript 3.0 obsługują pliki dźwiękowe zapisane w formacie mp3. Nie jest możliwe bezpośrednie ładowanie ani odtwarzanie plików dźwiękowych w innych formatach, takich jak WAV czy AIFF. Jednak począwszy od programu Flash Player 9.0.115.0 pliki audio AAC mogą być ładowane i odtwarzane za pomocą klasy NetStream. Ta sama technika jest używana do ładowania i odtwarzania treści wideo. Więcej informacji na temat tej techniki zawiera sekcja Praca z wideo .

Za pomocą programu Adobe Flash Professional można importować pliki dźwiękowe WAV lub AIFF, a następnie osadzać je w plikach SWF aplikacji w formacie mp3. Narzędzie Flash do tworzenia treści umożliwia ponadto kompresowanie osadzonych plików dźwiękowych w celu zredukowania ich rozmiaru, przy czym redukcja ta wiąże się z pogorszeniem jakości dźwięku. Więcej informacji zawiera sekcja „Importowanie dźwięków” w podręczniku Korzystanie z programu Flash .

Architektura dźwięku ActionScript 3.0 korzysta z następujących klas pakietu flash.media.

Klasa

Opis

flash.media.Sound

Klasa Sound obsługuje ładowanie dźwięku, zarządza podstawowymi właściwościami dźwięku oraz rozpoczyna odtwarzanie dźwięku.

flash.media.SoundChannel

Po odtworzeniu obiektu Sound przez aplikację tworzony jest nowy obiekt SoundChannel sterujący odtwarzaniem. Obiekt SoundChannel steruje głośnością zarówno lewego, jak i prawego kanału odtwarzania dźwiękiem. Każdy odtwarzany dźwięk ma swój własny obiekt SoundChannel.

flash.media.SoundLoaderContext

Klasa SoundLoaderContext określa, ile sekund buforowania należy zastosować podczas ładowania dźwięku, oraz czy podczas ładowania program Flash Player lub AIR ma szukać na serwerze pliku strategii. Obiekt SoundLoaderContext jest używany jako parametr metody Sound.load() .

flash.media.SoundMixer

Klasa SoundMixer steruje właściwościami odtwarzania i zabezpieczeń dotyczącymi wszystkich dźwięków w aplikacji. W efekcie, wiele kanałów dźwięku jest miksowanych za pośrednictwem wspólnego obiektu SoundMixer, tak że wartości właściwości w obiekcie SoundMixer będą miały wpływ na wszystkie obiekty SoundChannel obecnie odtwarzane.

flash.media.SoundTransform

Klasa SoundTransform zawiera wartości sterujące głośnością dźwięku oraz panoramowanie. Obiekt SoundTransform można zastosować do konkretnego obiektu SoundChannel, do globalnego obiektu SoundMixer, lub, miedzy innymi, do obiektu Microphone.

flash.media.ID3Info

Obiekt ID3Info zawiera właściwości reprezentujące metadane ID3, często przechowywane w plikach dźwiękowych mp3.

flash.media.Microphone

Klasa Microphone reprezentuje mikrofon lub inne urządzenie wejściowe dźwiękowe podłączone do komputera użytkownika. Wejście audio z mikrofonu można przekierować do lokalnych głośników lub wysłać na zdalny serwer. Obiekt Microphone steruje wzmocnieniem, częstotliwością próbkowania oraz innymi wielkościami charakterystycznymi dla jego własnego strumienia dźwiękowego.

flash.media.AudioPlaybackMode

Klasa AudioPlaybackMode definiuje stałe dla właściwości audioPlaybackMode klasy SoundMixer.

Każdy ładowany i odtwarzany dźwięk wymaga własnej instancji klasy Sound oraz klasy SoundChannel. Wyjście z wielu instancji SoundChannel jest następnie miksowane razem przez klasę globalną SoundMixer podczas odtwarzania.

Klasy Sound, SoundChannel i SoundMixer nie są używane dla danych dźwiękowych uzyskanych z mikrofonu lub z serwera przesyłania strumieniowego multimediów takiego jak Flash Media Server.