Merge branch 'master' of https://gitea.sustancia.synology.me/JailDoctor/JailAudio
This commit is contained in:
66
readme.md
Normal file
66
readme.md
Normal file
@@ -0,0 +1,66 @@
|
||||
# JailAudio v1.2
|
||||
JailAudio es una xicoteta api per a reemplaçar lo basic de *SDL_mixer*. Amb ella es poden carregar cançons en format **OGG** o sons en format **WAV**. Per a usar-la nomes tindreu que incloure els arxius `jail_audio.cpp`, `jail_audio.h` i `stb_vorbis.c` al vostre projecte. El seu us es molt senzill i es pot vore un example a l'arxiu `main.cpp`.
|
||||
|
||||
## Inicialització
|
||||
### `void JA_Init(const int freq, const SDL_AudioFormat format, const int channels);`
|
||||
Inicialitza el subsistema de audio. Es pot especificar la _frequència_, _format_ i _canals_, de la mateixa forma que abans creaveu el `SDL_AudioDevice`.
|
||||
|
||||
### `void JA_Quit();`
|
||||
Tanquem la paraeta.
|
||||
|
||||
## Música
|
||||
|
||||
### `JA_Music JA_LoadMusic(const char* filename);`
|
||||
Carrega un arxiu **OGG** en memoria i el guarda a una variable de tipus `JA_Music`. Es un punter opac, així que nomes val pa usar-lo com a referència a l'hora de fer-lo sonar.
|
||||
|
||||
### `void JA_PlayMusic(JA_Music music, const int loop);`
|
||||
Comença a tocar un **OGG**. Se li pot dir que faça loop (`-1` fa loop, `0` no fa loop (sona 1 vegada), `1` repeteix el so (sona 2 vegades), etc...). Si estava sonant altra musica, pos la para i a prendre per cul.
|
||||
|
||||
### `void JA_PauseMusic();`
|
||||
Pausa la música.
|
||||
|
||||
### `void JA_ResumeMusic();`
|
||||
Continúa la música per on s’havia pausat.
|
||||
|
||||
### `void JA_StopMusic();`
|
||||
Pos això...
|
||||
|
||||
### `int JA_SetVolume(int volume);`
|
||||
Canvia el volum de la música. Es un valor entre 0 i 128. Per defecte està a 128.
|
||||
|
||||
### `JA_Music_state JA_GetMusicState();`
|
||||
Torna el estat de la música, que pot ser `JA_MUSIC_INVALID`, `JA_MUSIC_PLAYING`, `JA_MUSIC_PAUSED`o `JA_MUSIC_STOPPED`.
|
||||
|
||||
### `void JA_DeleteMusic(JA_Music music);`
|
||||
Esborra de la memòria una cançò prèviament carregada. Si está sonant pos para de sonar, ningún problema.
|
||||
|
||||
## Efectes de só
|
||||
|
||||
### `JA_Sound JA_NewSound(Uint8* buffer, Uint32 length);`
|
||||
Crea un nou só a partir d'un buffer en memòria.
|
||||
|
||||
### `JA_Sound JA_LoadSound(const char* filename);`
|
||||
Carrega un àudio des d'un arxiu **WAV** i el guarda a una variable de tipus `JA_Sound`. Es un punter opac, així que nomes val pa usar-lo com a referència a l'hora de fer-lo sonar.
|
||||
|
||||
### `int JA_PlaySound(JA_Sound sound, const int loop);`
|
||||
Fa sonar un só prèviament carregat. Se li pot dir que faça loop (`-1` fa loop, `0` no fa loop (sona 1 vegada), `1` repeteix el so (sona 2 vegades), etc...). Torna el número del canal en el que està sonant.
|
||||
|
||||
### `void JA_DeleteSound(JA_Sound sound);`
|
||||
Esborra de la memòria un só prèviament carregat. Si el só estava sonant en eixe moment, pos el para, ningún problema.
|
||||
|
||||
## Canals de só
|
||||
|
||||
### `void JA_PauseChannel(const int channel);`
|
||||
Pausa el só que estiga sonant en el canal especificat. Si s'especifica `-1`, pausa tots els canals que estigueren sonant en eixe moment.
|
||||
|
||||
### `void JA_ResumeChannel(const int channel);`
|
||||
Continua sonant el canal especificat, si es que estava pausat. Si s'especifica `-1`, fa que tots els canals que estigueren pausats es despausen i continuen.
|
||||
|
||||
### `void JA_StopChannel(const int channel);`
|
||||
Para un canal i el deixa lliure. Si s'especifica `-1`, para tots els canals que estigueren sonant en eixe moment.
|
||||
|
||||
### `JA_Channel_state JA_GetChannelState(const int channel);`
|
||||
Torna el estat del canal especificat, que pot ser `JA_CHANNEL_INVALID`, `JA_CHANNEL_FREE`,`JA_CHANNEL_PLAYING` o `JA_CHANNEL_PAUSED`.
|
||||
|
||||
### `int JA_SetChannelVolume(const int channel, int volume);`
|
||||
Especifica el volum de un canal. Es un valor entre 0 i 128. Per defecte està a 64.
|
||||
Reference in New Issue
Block a user