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

©2021 mgr Jerzy Wałaszek
I LO w Tarnowie

SDL2

Interfejs SDL2:

SDL_AudioFormat

SPIS TREŚCI

Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2. Oryginał znajdziesz pod tym adresem: https://wiki.libsdl.org/CategoryAPI.

SDL_AudioFormat

Enumeracja formatów dźwiękowych.

Wartości

Znaczenia bitów

 +-----------------------próbka jest ze znakiem, jeśli ustawiony
 |
 |        +----------próbka jest typu bigendian, jeśli ustawiony
 |        |
 |        |           +--próbka jest typu float, jeśli ustawiony
 |        |           |
 |        |           |  +ilość bitów w próbce+
 |        |           |  |                    |
15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0

Makra formatów audio

SDL_AUDIO_MASK_BITSIZE (0xFF)
SDL_AUDIO_MASK_DATATYPE (1<<8)
SDL_AUDIO_MASK_ENDIAN (1<<12)
SDL_AUDIO_MASK_SIGNED (1<<15)
SDL_AUDIO_BITSIZE(x) (x & SDL_AUDIO_MASK_BITSIZE)
SDL_AUDIO_ISFLOAT(x) (x & SDL_AUDIO_MASK_DATATYPE)
SDL_AUDIO_ISBIGENDIAN(x) (x & SDL_AUDIO_MASK_ENDIAN)
SDL_AUDIO_ISSIGNED(x) (x & SDL_AUDIO_MASK_SIGNED)
SDL_AUDIO_ISINT(x) (!SDL_AUDIO_ISFLOAT(x))
SDL_AUDIO_ISLITTLEENDIAN(x) (!SDL_AUDIO_ISBIGENDIAN(x))
SDL_AUDIO_ISUNSIGNED(x) (!SDL_AUDIO_ISSIGNED(x))

Wartości formatów audio

wsparcie dla próbek 8-bitowych
AUDIO_S8 próbki 8-bitowe ze znakiem
AUDIO_U8 próbki 8-bitowe bez znaku
wsparcie dla próbek 16-bitowych
AUDIO_S16LSB próbki 16-bitowe ze znakiem w porządku little-endian
AUDIO_S16MSB próbki 16-bitowe ze znakiem w porządku big-endian
AUDIO_S16SYS próbki 16-bitowe ze znakiem w porządku natywnym systemu
AUDIO_S16 AUDIO_S16LSB
AUDIO_U16LSB próbki 16-bitowe bez znaku w porządku little-endian
AUDIO_U16MSB próbki 16-bitowe bez znaku w porządku big-endian
AUDIO_U16SYS próbki 16-bitowe bez znaku w porządku natywnym systemu
AUDIO_U16 AUDIO_U16LSB
wsparcie dla próbek 32-bitowych (nowość dla SDL 2.0)
AUDIO_S32LSB próbki 32-bitowe całkowite w porządku little-endian
AUDIO_S32MSB próbki 32-bitowe całkowite w porządku big-endian
AUDIO_S32SYS próbki 32-bitowe całkowite w porządku natywnym systemu
AUDIO_S32 AUDIO_S32LSB
wsparcie dla próbek zmiennoprzecinkowych (nowość dla SDL 2.0)
AUDIO_F32LSB próbki 32-bitowe zmiennoprzecinkowe w porządku little-endian
AUDIO_F32MSB próbki 32-bitowe zmiennoprzecinkowe w porządku big-endian
AUDIO_F32SYS próbki 32-bitowe zmiennoprzecinkowe w porządku natywnym systemu
AUDIO_F32 AUDIO_F32LSB

Przykładowy kod

extern SDL_AudioFormat fmt;
if (SDL_AUDIO_ISFLOAT(fmt)) {
    printf("floating point data\n");
} else {
    printf("integer data\n");
}
printf("%d bits per sample\n", (int) SDL_AUDIO_BITSIZE(fmt));

Uwagi

Bądź ostrożny przy zakładaniu z góry szczegółów formatu danych. Jeśli tylko sprawdzisz SDL_AUDIO_ISFLOAT(), to możesz się zdziwić, jeśli przykładowo w przyszłych wersjach SDL napotkasz obsługę Float64, podczas gdy ty będziesz się spodziewał jedynie danych 32-bitowych.

Powiązane struktury

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
©2021 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.