Powerpoint Templates Page 1 Powerpoint Templates Programowanie w środowisku Windows Użycie DirectSound i DirectMusic Łukasz Rączkowski Toruń
Powerpoint Templates Page 2 "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." Plan prezentacji Czym jest DirectSound? Jak działa DirectSound? Czym jest DirectMusic? Możliwości DirectMusic Omówienie struktury plików WAVE Stworzenie aplikacji wykorzystującej DirectSound Pytania na kolokwium
Powerpoint Templates Page 3 Czym jest DirectSound? DirectSound to element biblioteki DirectX, który umożliwia szybką i łatwą kontrolę nad urządzeniami audio. Komponent ten ma wiele zalet, między innymi umożliwia: -Automatyczne użycie przyspieszenia sprzętowego (gdy jest dostępne) -Miksowanie nieograniczonej ilości dźwięków -Odtwarzanie z niskim opóźnieniem -Efekty przestrzenne -Wsparcie dla zbiorów własności, co daje dostęp do nowych możliwości sprzętu bez zawieszania API
Powerpoint Templates Page 4 Jak działa DirectSound? DirectSound opiera się na buforach dźwiękowych. Podstawą jest obiekt bufora drugorzędnego, który to reprezentuje pojedynczy dźwięk (może być krótki i mieścić się w jednym bloku pamięci lub długi, co wymaga streamowania). Bufor przechowuje dźwięk w postaci danych PCM (Pulse Code Modulation). Możemy mieć dowolną ilość buforów drugorzędnych, a w czasie odtwarzania DirectSound zmiksuje je do bufora głównego i przeprowadzi na przykład operację konwersji częstotliwości próbkowania albo doda efekty przestrzenne. Z bufora głównego dane PCM są wysyłane do urządzenia wyjściowego.
Powerpoint Templates Page 5 Jak działa DirectSound? Podobnie jak inne komponenty DirectX, DirectSound stara się używać tak dużo przyspieszania sprzętowego jak to tylko możliwe. Gdy tylko się da, umieszcza wszystkie bufory w pamięci sprzętu i używa miksowania sprzętowego. W przypadku gdy nie jest to możliwe, DirectSound użyje emulacji sprzętu aby wykonać zadanie. Proces ten przestawiony jest na poniższym rysunku:
Powerpoint Templates Page 6 Czym jest DirectMusic? DirectMusic jest wysokopoziomowym zestawem obiektów, zbudowanym ponad DirectSound. Umożliwia pełną kontrolę nad odtwarzaniem dźwięków bez konieczności odwoływania się do funkcji niskiego poziomu. Obecnie komponent ten jest zarzucony. Dla 64- bitowych aplikacji w Windows Vista nie jest dostępny w ogóle, a w Windows 7 jest tylko częściowe wsparcie (nie ma dostępu do komponentu wydajnościowego). DirectMusic był często wykorzystywany w grach – umożliwia tworzenie dynamicznej ścieżki dźwiękowej, która zmienia się w zależności od zdarzeń w programie.
Powerpoint Templates Page 7 DirectMusic daje możliwość: Ładowania i odtwarzania dźwięków z plików lub zasobów w formatach MIDI, WAV lub w binarnym formacie DirectMusic Producer. Ustalania dokładnego czasu zajścia zdarzeń muzycznych. Odtwarzania z kilku źródeł jednocześnie, z czego każde z nich może mieć inny czas i zestaw instrumentów. Wysyłania programowo zmian tempa, zmian ustawienia syntezatora i innych zdarzeń MIDI. Lokalizowania dźwięków w przestrzeni 3D. Łatwego zastosowania zmian wysokości dźwięku, pogłosu i innych efektów. Użycia więcej niż 16 kanałów MIDI. DirectMusic umożliwia odtwarzanie dowolnej ilości głosów jednocześnie, ale nie można przekroczyć limitu syntezatora. Odtwarzania segmentów na różnych ścieżkach audio, dzięki czemu efekty lub „uprzestrzennienie” mogą być dodane osobno do każdego dźwięku. Przechwytywania danych MIDI lub przesyłania ich między portami. Możliwości DirectMusic
Powerpoint Templates Page 8 Do tworzenia plików dźwiękowych wykorzystujących pełnię interaktywnych możliwości DirectMusic możemy użyć narzędzia DirectMusic Producer. Możliwości DirectMusic
Powerpoint Templates Page 9 Omówienie struktury plików WAVE Pliki WAVE (*.wav) są zgodne ze specyfikacją RIFF (Resource Interchange File Format). Oznacza to, że składają się w całości z „porcji” (bloków danych), które mogą też zawierać „podporcje”. De facto tworzą więc strukturę drzewiastą. Każdy blok zawiera nagłówek oraz dane. Pierwszym i najważniejszym blokiem jest blok RIFF – tworzy on korzeń drzewa. Format tego bloku to WAVE. Zawiera on dwa podbloki: fmt (określający format danych) oraz data (przechowujący właściwe dane dźwiękowe).
Powerpoint Templates Page 10 Omówienie struktury plików WAVE
Powerpoint Templates Page 11 Omówienie struktury plików WAVE
Powerpoint Templates Page 12 Stworzenie aplikacji Przechodzimy do Visual Studio 2010.
Powerpoint Templates Page 13 Pytania na kolokwium 1.Narysuj diagram buforowania w DirectSound 2. Omów strukturę plików WAVE
Powerpoint Templates Page 14 Dziękuję za uwagę