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_LoadWAV_RW

SPIS TREŚCI

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

SDL_LoadWAV_RW

Użyj tej funkcji, aby załadować dane WAVE ze źródła danych, automatycznie zamykając to źródło, jeśli parametr freesrc jest różny od zera.

Składnia

SDL_AudioSpec* SDL_LoadWAV_RW(SDL_RWops*     src,
                              int            freesrc,
                              SDL_AudioSpec* spec,
                              Uint8**        audio_buf,
                              Uint32*        audio_len)

Parametry funkcji

src źródło danych dla pliku wave; więcej znajdziesz w opisie operacji na plikach.
freesrc wartość niezerowa, aby automatycznie zamknąć źródło danych.
spec struktura SDL_AudioSpec reprezentująca pożądany format wyjściowy.
audio_buf bufor dźwiękowy.
audio_len długość bufora dźwiękowego w bajtach.

Wartość zwracana

Ta funkcja, jeśli wywołanie się powiodło, zwraca wskaźnik do struktury SDL_AudioSpec wypełnionej formatem danych dźwiękowych źródłowych danych WAVE. Wskaźnik audio_buf jest wypełniany wskaźnikiem do przydzielonego bufora, zawierającego dane dźwiękowe, a audio_len jest wypełniane długością tego bufora w bajtach.

Funkcja zwraca NULL, jeśli pliku WAV nie można otworzyć, używa nieznanego formatu danych lub jest uszkodzony; wywołaj funkcję SDL_GetError(), aby otrzymać więcej informacji na temat błędu.

Gdy aplikacja skończy z danymi zwróconymi w audio_buf, powinna wywołać SDL_FreeWAV(), aby je zwolnić.

Przykładowy kod

SDL_AudioSpec wav_spec;
Uint32 wav_length;
Uint8 *wav_buffer;

/* Załaduj WAV */
if (SDL_LoadWAV_RW(myRWops, 1, &wav_spec, &wav_buffer, &wav_length) == NULL)
{
    fprintf(stderr, "Could not open test.wav: %s\n", SDL_GetError());
}
else
{
    /* Zrób swoje z danymi WAV, a potem... */
    SDL_FreeWAV(wav_buffer);
}

Uwagi

Obecnie są wspierane pliki surowe i MS-ADPCM WAVE.

Musisz zwolnić bufor dźwiękowy za pomocą SDL_FreeWAV(), gdy z nim już skończysz.

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.