|
Serwis Edukacyjny Nauczycieli w I-LO w Tarnowie
Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej
Autor artykułu: mgr Jerzy Wałaszek |
©2026 mgr Jerzy Wałaszek
|
SDL_OpenAudio
| SPIS TREŚCI |
Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2.
Jest to przestarzały sposób otwierania urządzenia dźwiękowego. W nowych programach używaj raczej funkcji SDL_OpenAudioDevice().
int SDL_OpenAudio(SDL_AudioSpec* desired,
SDL_AudioSpec* obtained)
|
| desired | struktura SDL_AudioSpec reprezentująca pożądany format wyjściowy |
| obtained | struktura SDL_AudioSpec wypełniana faktycznymi parametrami lub NULL |
Jeśli obtained ma wartość NULL, dane dźwiękowe przekazywane do funkcji wywoływanej zwrotnie na pewno będą w pożądanym formacie i w razie potrzeby zostaną automatycznie skonwertowane na faktyczny sprzętowy format dźwiękowy. Jeśli obtained ma wartość NULL, to struktura wskazywana przez desired będzie odpowiednio modyfikowana.
Funkcja zwraca ujemny kod błędu w przypadku niepowodzenia otwarcia urządzenia dźwiękowego lub niepowodzenia utworzenia wątku dźwiękowego; wywołaj funkcję SDL_GetError(), aby otrzymać więcej informacji na temat błędu.
SDL_AudioSpec want, have;
SDL_memset(&want, 0, sizeof(want)); /* lub SDL_zero(want) */
want.freq = 48000;
want.format = AUDIO_F32;
want.channels = 2;
want.samples = 4096;
want.callback = MyAudioCallback; /* napisałeś tę funkcję w innym miejscu - szczegóły w opisie SDL_AudioSpec */
if (SDL_OpenAudio(&want, &have) < 0)
{
SDL_Log("Failed to open audio: %s", SDL_GetError());
}
else
{
if (have.format != want.format)
{
SDL_Log("We didn't get Float32 audio format.");
}
SDL_PauseAudio(0); /* start odtwarzania dźwięku. */
SDL_Delay(5000); /* niech funkcja dźwiękowa odtwarza jakiś dźwięk przez 5 sekund. */
SDL_CloseAudio();
}
|
Funkcja ta jest mniej więcej odpowiednikiem funkcji:
SDL_OpenAudioDevice(NULL, 0, desired, obtained, SDL_AUDIO_ALLOW_ANY_CHANGE); |
Z dwoma godnymi uwagi wyjątkami:
![]() |
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2026 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:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.