Som
Os sons são arquivos WAV, OGG ou MP3 no projeto. O nome do som é o nome do arquivo sem a extensão.
| Função | O que faz | Exemplo |
|---|---|---|
SoundId Audio::play(std::string_view name, PlayOptions options = {}) |
Começa a tocar um som e volta na hora. Devolve um SoundId, ou 0 se o som não existe. |
Audio::play("explosao"); |
void Audio::stop(SoundId id) |
Para um som que está tocando. | Audio::stop(music_); |
void Audio::stopAll() |
Para todos os sons. | Audio::stopAll(); |
PlayOptions tem dois campos, que você passa entre chaves:
| Campo | Padrão | O que é |
|---|---|---|
volume |
1.0f |
Volume, de 0 a 1. |
loop |
false |
true repete o som até Audio::stop. |
Audio::play("tiro", {.volume = 0.4f});SoundId music = Audio::play("musica", {.volume = 0.6f, .loop = true});A música de fundo é lida do arquivo aos poucos, sem carregar tudo na memória. Só uma música toca por vez: tocar outra troca a que estava.
| Função | O que faz | Exemplo |
|---|---|---|
bool Audio::playMusic(std::string_view name, float volume = 1.0f, bool loop = true) |
Começa a tocar a música. Devolve false se o som não existe. |
Audio::playMusic("tema", 0.6f); |
void Audio::stopMusic() |
Para a música. | Audio::stopMusic(); |
void Audio::setMusicVolume(float volume) |
Muda o volume da música, de 0 a 1. | Audio::setMusicVolume(0.3f); |
bool Audio::musicPlaying() |
true se há uma música tocando. |
if (!Audio::musicPlaying()) ... |
Observações
Seção intitulada “Observações”- Vários sons podem tocar ao mesmo tempo.
- Formatos: WAV, OGG e MP3. Use WAV nos efeitos curtos e OGG ou MP3 nas músicas.
- O botão Copiar código no Inspetor do som copia a linha
Audio::play("...");. Veja Sons.
