2024A-SW/managed_components/chmorgan__esp-audio-player/audio_instance.h
2026-02-07 16:06:20 -06:00

35 lines
1.1 KiB
C

#pragma once
#include "esp_err.h"
#include "include/audio_player.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* Opaque handle for a player instance.
* Used for multi-instance control in mixer
*/
typedef void* audio_instance_handle_t;
#define CHECK_INSTANCE(i) \
ESP_RETURN_ON_FALSE(i != NULL, ESP_ERR_INVALID_ARG, "audio_instance", "instance is NULL")
const char* event_to_string(audio_player_callback_event_t event);
audio_player_callback_event_t state_to_event(audio_player_state_t state);
audio_player_state_t audio_instance_get_state(audio_instance_handle_t h);
esp_err_t audio_instance_callback_register(audio_instance_handle_t h, audio_player_cb_t call_back, void *user_ctx);
esp_err_t audio_instance_play(audio_instance_handle_t h, FILE *fp);
esp_err_t audio_instance_pause(audio_instance_handle_t h);
esp_err_t audio_instance_resume(audio_instance_handle_t h);
esp_err_t audio_instance_stop(audio_instance_handle_t h);
esp_err_t audio_instance_new(audio_instance_handle_t *h, audio_player_config_t *config);
esp_err_t audio_instance_delete(audio_instance_handle_t h);
#ifdef __cplusplus
}
#endif