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_GetNumAudioDevices

SPIS TREŚCI

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

SDL_GetNumAudioDevices

Użyj tej funkcji, aby dodać otrzymać liczbę wbudowanych urządzeń dźwiękowych.

Składnia

int SDL_GetNumAudioDevices(int iscapture)

Parametry funkcji

iscapture zero dla urządzeń odtwarzających, różne od zera dla nagrywających.

Wartość zwracana

Zwraca liczbę dostępnych urządzeń ujawnionych przez bieżący sterownik lub -1, jeśli jawna lista urządzeń nie może zostać określona. Wartość zwracana -1 niekoniecznie oznacza wystąpienie błędu. Zobacz do Uwag.

Przykładowy kod

int i, count = SDL_GetNumAudioDevices(0);
for (i = 0; i < count; ++i)
{
    printf("Audio device %d: %s\n", i, SDL_GetAudioDeviceName(i, 0));
}

Uwagi

Funkcja ta działa poprawnie dopiero po zainicjowaniu z sukcesem podsystemu audio.

Zwróć uwagę, że nagrywanie dźwięku nie jest jeszcze zaimplementowane w SDL 2.0.4, zatem parametr iscapture jest dla przyszłych rozszerzeń i na razie powinien zawsze mieć wartość 0.

Funkcja zwróci -1, jeśli nie można określić jawnej listy urządzeń. Zwrócenie wartości -1 nie jest błędem. Na przykład, jeśli SDL zostało ustawione do komunikacji ze zdalnym serwerem audio, nie może umieścić na liście wszystkich serwerów internetowych, lecz wciąż umożliwia określenie specyficznego hosta w SDL_OpenAudioDevice().

W wielu typowych przypadkach, gdy funkcja zwraca wartość mniejszą od zera, wciąż możliwe jest otwarcie z sukcesem standardowego urządzenia (NULL jako pierwszy argument funkcji SDL_OpenAudioDevice()).

Funkcja ta może wyzwolić ponowne, pełne rozpoznawanie dostępnego sprzętu. Nie powinno się jej wywoływać w każdym obiegu pętli, lecz raczej jeden raz przed wejściem do pętli:

// Nie rób tego: for (int i = 0; i < SDL_GetNumAudioDevices(0); i++)
// lecz to:
const int count = SDL_GetNumAudioDevices(0);
for (int i = 0; i < count; ++i)
{
    /* zrób coś tutaj. */
}

Wersja

Funkcja dostępna od SDL 2.0.0.

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.