r08-04.doc

(298 KB) Pobierz
Po prostu









8










Kontrolowanie dźwięku

 

 



 

Części składowe języka HTML

257


















Kontrolowanie dźwięku

Kontrolowanie dźwięku

Wprowadzenie do twojego filmu Flasha dźwięku może pozytywnie wpłynąć na animację i interaktywność, a także wzmocnić siłę wyrazu nawet najprostszego projektu, angażując kolejny zmysł odbiorcy. Można np. odtwarzać w tle muzykę podkreślającą nastrój filmu, dołączyć narrację do opowiadanej historii czy wprowadzić efekty dźwiękowe, które będą towarzyszyć różnym zdarzeniom – klikaniu przycisków, przeciąganiu obiektów, itd. Flash obsługuje pliki MP3 – mocno skompresowane, ale wciąż wysokiej jakości pliki audio – umożliwiając ci czerpanie z jeszcze szerszego spektrum dźwięku, a przy tym pozwalając zachować minimalne rozmiary pliku wynikowego.

Ten rozdział zaczyna się od przedstawienia sposobów na wykorzystanie obiektu Sound (dźwiękowego) – obiektu Flasha odpowiadającego za kontrolę dźwięku przy wykorzystaniu języka ActionScript. Powinieneś do tego momentu mieć ogólne pojęcie o posługiwaniu się dźwiękiem we Flashu, włączając w to choćby importowanie plików dźwiękowych i przypisywanie ich do ujęć kluczowych za pomocą opcji Event, Start, Stop i Stream Sync. Jeśli nie masz pewności co do używania którejś z tych metod, poszukaj dodatkowych informacji w dokumentacji programu. Dzięki temu rozdziałowi; nauczysz się, jak wykorzystać obiekt dźwiękowy do odtwarzania dźwięków bezpośrednio z biblioteki, bez umieszczania ich w ujęciach kluczowych. Zobaczysz, w jaki sposób ustawiać poziom głośności i balans dźwięku, korzystając z dynamicznego systemu kontroli opartego na interakcji z użytkownikiem i właściwościach filmu, poznasz też sposób udostępniania użytkownikowi kontrolerów głośności i balansu pomiędzy kanałami. Nauczysz się, jak zarządzać dźwiękami, trzymając je poza środowiskiem projektu Flasha w postaci zewnętrznych filmów, co oznacza, że będziesz mógł stworzyć np. odgrywarkę plików dźwiękowych, przy czym pliki te będą przechowywane poza głównym interfejsem.

 


Obiekt dźwiękowy

Obiekt dźwiękowy

Przyłączanie pliku dźwiękowego do ujęcia kluczowego na listwie czasowej jest łatwym sposobem na wprowadzenie dźwięków do twojego filmu. Dwa podstawowe sposoby integrowania filmu z dźwiękiem to użycie opcji Event Sync do odgrywania dźwięków towarzyszących zdarzeniom, np. wciśnięcia przycisku, oraz wykorzystanie opcji Stream Sync do synchronizacji dialogu z animacją. Jeśli jednak musisz mieć kontrolę nad tym, kiedy dźwięk jest odgrywany, lub też chciałbyś dynamicznie zmieniać jego natężenie (także w poszczególnych kanałach), skorzystaj z obiektu dźwiękowego.

Obiekt dźwiękowy (Sound) jest zdefiniowaną klasą Flasha, której metody umożliwiają kontrolowanie plików dźwiękowych importowanych i przechowywanych w bibliotece. Podobnie jak w przypadku obiektu koloru (Color), żeby użyć obiektu dźwiękowego, trzeba utworzyć jego klon za pomocą funkcji konstruktora i nadać mu nazwę. Kiedy już obiekt dźwiękowy posiada nazwę, można używać go do odgrywania i modyfikowania plików dźwiękowych przechowywanych w twojej bibliotece.

 

 


Obiekt dźwiękowy

Rys. 8.1. Wpisz mySound jako nazwę twojego obiektu dźwiękowego i pozostaw pole Expression niezaznaczone

 

Rys. 8.2. Funkcja konstruktora new Sound tworzy klon nowego obiektu dźwiękowego

 

Rys. 8.3. Kiedy użytkownik zwolni przycisk, Flash utworzy obiekt dźwiękowy o nazwie mySound

 

W celu utworzenia
obiektu dźwiękowego
o charakterze globalnym:

1.   Zaimportuj plik dźwiękowy, wybierając File/Import (Ctrl+R).

Wybrany plik dźwiękowy pojawi się w bibliotece.

2.   Utwórz symbol przycisku i umieść jego klon na scenie.

3.   Zaznacz przycisk i otwórz paletę akcji.

4.   Wybierz Actions/set variable (Esc + sv). W oknie skryptu pojawi się, poniżej manipulatora zdarzenia myszy on (release), nowe wyrażenie.

5.   W polu Variable wpisz nazwę twojego nowego obiektu dźwiękowego (rys. 8.1).

6.   Kliknij w polu Value i wybierz Objects/ Sound/new Sound.

Zaznacz pole Expression. W polu Value pojawi się funkcja konstruktora newSound, z podświetlonym argumentem target (rys. 8.2).

7.   Usuń podświetlone słowo target. Argument oznaczony tym słowem wskazuje na klip filmowy zawierający dźwięki, które mają być kontrolowane przez obiekt dźwiękowy. Nie podając argumentu, utworzysz obiekt dźwiękowy kontrolujący wszystkie dźwięki z listwy czasowej (rys. 8.3).

 


Przyłączanie dźwięków

Przyłączanie dźwięków

Jeśli posiadasz w swojej bibliotece wiele zaimportowanych dźwięków, musisz przekazać obiektowi dźwiękowemu, który dźwięk ma być odtworzony lub kontrolowany. Poszczególne dźwięki w bibliotece identyfikuje się za pomocą opcji Linkage, podobnie jak to robiłeś w rozdziale 7., kiedy przyłączałeś klip filmowy z biblioteki do klipu filmowego na scenie. Poza identyfikowaniem dźwięku, opcja Linkage umożliwia wyeksportowanie go z plikiem SWF, aby był dostępny dla wywołującego go obiektu dźwiękowego. Po zidentyfikowaniu dźwięku za pomocą opcji Linkage, możesz przyłączyć go do obiektu dźwiękowego, korzystając z metody attachSound.

W celu przyłączenia
dźwięku do obiektu dźwiękowego:

1.   Kontynuując poprzednie ćwiczenie, zaznacz swój plik dźwiękowy w bibliotece.

2.   Z menu Options wybierz Linkage (rys. 8.4).

Pojawi się okno dialogowe Symbol Linkage Properties.

3.   Spośród przycisków wyboru opcji Linkage kliknij Export this symbol. W polu Identifier wpisz nazwę identyfikującą twój dźwięk. Kliknij OK (rys. 8.5).

Flash wyeksportuje zaznaczony dźwięk w pliku SWF z unikalnym identyfikatorem, dzięki czemu dźwięk ten będzie możliwy do odtworzenia po wywołaniu go przez obiekt dźwiękowy.

4.   Zaznacz przycisk na scenie i otwórz paletę akcji.

5.   W oknie skryptu zaznacz wyrażenie new Sound.

Zaznaczając to wyrażenie, sprawiasz, że następne wyrażenie ActionScript pojawi się pod nim.

6.   Wybierz Actions/evaluate.

 

Rys. 8.4. Dla każdego dźwięku, który chcesz przyłączyć, wybierz opcję Linkage z menu biblioteki

 

Rys. 8.5. Ten dźwięk nosi nazwę narration i zostanie dołączony do eksportowanego pliku SWF

 


Przyłączanie dźwięków

Rys. 8.6. Metoda attachSound wymaga podania argumentu idName, który jest identyfikatorem twojego dźwięku w bibliotece

 

Rys. 8.7. Metoda attachSound przyłącza dźwięk zidentyfikowany jako narration do obiektu dźwiękowego mySound

 

7.   W polu Expression wpisz nazwę obiektu dźwiękowego, a potem wybierz Objects/ Sound/attachSound. W polu Expression bloku edycji parametrów pojawi się metoda attachSound z podświetlonym argumentem idName (rys. 8.6).

8.   W polu Expression zastąp argument idName identyfikatorem twojego pliku dźwiękowego, pisząc go w cudzysłowie (rys. 8.7).

To bardzo ważne, żeby umieszczać identyfikator pliku dźwiękowego w cudzysłowie. Znak ten mówi Flashowi, że otoczone nim słowo jest rzeczywistą nazwą identyfikatora, a nie wyrażeniem, które powinien oszacować w celu określenia nazwy identyfikatora.

Wskazówka

n     Jako argument metody attachSound możesz podać wyrażenie. Przykładowo, zamiast umieszczać w cudzysłowie identyfikator, możesz wstawić tam generator liczb losowych. Następnie, już w bibliotece, przydziel poszczególnym dźwiękom w oknie dialogowym Symbol Linkage Properties identyfikatory w postaci liczb. Flash będzie przyłączał dźwięki w sposób losowy. Więcej o liczbach losowych dowiesz się z kolejnych rozdziałów.

 


Odtwarzanie dźwięków

Odtwarzanie dźwięków

Skoro już utworzyłeś nowy obiekt dźwiękowy i przyłączyłeś do niego dźwięk z biblioteki, możesz wreszcie odtworzyć ten dźwięk. Użyj metody start do odegrania dźwięku przyłączonego do obiektu dźwiękowego. Metoda start ma dwa parametry, secondOffset oraz loops.

Parametr secondOffset jest liczbą określającą, od której sekundy czasu trwania dźwięku ma się rozpocząć jego odtwarzanie. Możesz tak ustawić ten parametr, żeby dźwięk był odtwarzany od początku lub od późniejszego momentu. Jeśli, na przykład, masz 20-sekundowy dźwięk przyłączony do obiektu dźwiękowego, to ustalając parametr secondOffset na 10, sprawisz, że odgrywanie dźwięku zacznie się od jego środka. Nie oznacza to opóźnienia w odtwarzaniu o 10 sekund, tylko niezwłoczne rozpoczęcie odtwarzania od punktu oznaczonego jako „dziesiąta sekunda czasu trwania dźwięku”.

Parametr loops to liczba określająca, ile razy dźwięk ma być odtworzony. Ustawienie tego parametru na wartość 2 spowoduje dwukrotne odtworzenie dźwięku, bez żadnej przerwy. Ten parametr jest opcjonalny.

W celu odtworzenia dźwięku:

1.   Kontynuując poprzednie ćwiczenie, zaznacz przycisk i otwórz paletę akcji.

2.   W oknie skryptu zaznacz wyrażenie attachSound.

Czyniąc to, zyskujesz pewność, że kolejne wyrażenie pojawi się pod tym zaznaczonym.

3.   Wybierz Actions/evaluate.

W oknie skryptu pojawi się nowe wyrażenie.

4.   W polu Expression wpisz nazwę obiektu dźwiękowego.

 

 


Odtwarzanie dźwięków

Rys. 8.8. Metoda strat jest dodawana do skryptu po utworzeniu obiektu mySound i przyłączeniu dźwięku narration. Metoda start wymaga określenia argumentów secondOffset i loops

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Drugi przycisk:

on (release) {

mySound.attachSound("Jazz");

}

Trzeci przycisk:

on (release) {

mySound.start(0,1)

}

Kiedy klikniesz pierwszy przycisk, a potem trzeci, usłyszysz dźwięk Hawaiian. Kiedy klikniesz drugi przycisk, a potem trzeci, usłyszysz dźwięk Jazz. Jeśli rozpoczniesz odtwarzanie dźwięku Jazz, zanim wybrzmi do końca dźwięk Hawaiian, usłyszysz, jak dźwięki nakładają się na siebie.

5.   Zaraz za nazwą obiektu dźwiękowego wstaw metodę start, wybierając Objects/Sound/start.

W polu Expression, za nazwą obiektu dźwiękowego, pojawi się metoda start z podświetlonymi dwoma parametrami: secondOffset oraz loops (rys. 8.8).

6.   W miejsce parametru secondOffset wpisz 0, a parametr loops zastąp cyfrą 5.

7.   Przetestuj film. Kiedy użytkownik zwolni przycisk, dźwięk zostanie odegrany od początku i powtórzony pięć razy.

Wskazówki

n     Metoda start odgrywa przyłąc...

Zgłoś jeśli naruszono regulamin