Serwis Edukacyjny
Nauczycieli
w I-LO w Tarnowie

obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

Autor artykułu: mgr Jerzy Wałaszek
Uaktualniono: 31.07.2022

©2022 mgr Jerzy Wałaszek
I LO w Tarnowie

Interfejs SDL2:

SDL_PauseAudioDevice

SPIS TREŚCI

Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2.

SDL_PauseAudioDevice

Użyj tej funkcji, aby wstrzymać lub wznowić odtwarzanie dźwięku na określonym urządzeniu.

Składnia

void SDL_PauseAudioDevice(SDL_AudioDeviceID dev,
                          int               pause_on)

Parametry funkcji

dev urządzenie dźwiękowe otwarte przez SDL_OpenAudioDevice().
pause_on wartość niezerowa wstrzymuje odtwarzanie; wartość zero wznawia odtwarzanie.

Przykładowy kod

extern SDL_AudioDeviceID devid;
SDL_PauseAudioDevice(devid, 1);  // Funkcja dźwiękowa callback zostaje zatrzymana.
SDL_Delay(5000);                 // Urządzenie dźwiękowe odtwarza ciszę przez 5 sekund.
SDL_PauseAudioDevice(devid, 0);  // Funkcja dźwiękowa callback znów jest wywoływana.

Uwagi

Funkcja ta wstrzymuje i wznawia wywoływanie funkcji dźwiękowej callback dla danego urządzenia. Nowo otwarte urządzenia dźwiękowe startują w stanie pauzy, zatem musisz wywołać tę funkcję z parametrem pause_on równym 0 po otwarciu określonego urządzenia dźwiękowego, aby rozpocząć odtwarzanie dźwięku. Pozwala ci to bezpiecznie zainicjować dane dla twojej funkcji callback  (funkcja wywoływana zwrotnie przez sterownik urządzenia dźwiękowego) po otwarciu urządzenia dźwiękowego. W trakcie pauzy do urządzenia dźwiękowego zostanie zapisana cisza i gwarantuje się, że funkcja dźwiękowa callback nie będzie wywoływana. Wstrzymanie odtwarzania na jednym urządzeniu nie zapobiega wywoływaniu swoich funkcji callback przez inne pracujące urządzenia dźwiękowe.

Stan wstrzymania nie jest zapamiętywany kaskadowo; nawet jeśli wstrzymasz odtwarzanie kilka razy pod rząd, to pojedyncze wznowienie uruchomi ponownie odtwarzanie dźwięku na danym urządzeniu i na odwrót. Tym różni się ta funkcja od działania SDL_LockAudioDevice().

Jeśli chcesz tylko ochronić kilka zmienny przed warunkami wyścigu w twojej funkcji callback, nie powinieneś wstrzymywać urządzenia dźwiękowego, ponieważ doprowadzi to do przerw w odtwarzaniu dźwięku. Zamiast tego powinieneś użyć funkcji SDL_LockAudioDevice().

Powiązane funkcje

Na początek:  podrozdziału   strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2022 mgr Jerzy Wałaszek

Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.