/** 
 * @file audio.h
 * @brief Public API for the audio subsystem.
 * This header defines the public interface for the audio subsystem, which
 * provides functionality to play audio files and manage audio playback. It
 * abstracts away the details of the underlying I2S peripheral and file
 * system, allowing other parts of the application to easily trigger audio
 * playback by specifying file paths or sound names.
 * 
 * FLASH MEMORY USAGE:
 * LOG LEVEL DEBUG:   ~1.8 KB
 * LOG LEVEL INFO:    ~1.7 KB
 * LOG LEVEL WARNING: ~1.2 KB
 * LOG LEVEL ERROR:   ~1.1 KB
 * 
 * RAM USAGE (without stack and audio buffers):
 * Any LOG LEVEL:    ~0.47 KB
 */
#ifndef AUDIO_H
#define AUDIO_H

int audio_init(void);
int audio_play_sound(const char* file);
int audio_play_file(const char* file);
void audio_stop(void);

#endif // AUDIO_H

