// // Created by xemon on 17.11.22. // #ifndef UVEOS_ON_NATION_AUDIOPLAYERINTERFACE_H #define UVEOS_ON_NATION_AUDIOPLAYERINTERFACE_H #include "stdint.h" #include "stddef.h" #include "stdbool.h" typedef bool (*audioPlayerCallStart)(void *env, char *sampleName, uint16_t sampleNameLength, uint32_t timeout); typedef bool (*audioPlayerCall)(void *env, uint32_t timeout); typedef struct { void *env; audioPlayerCallStart start; audioPlayerCall wait; audioPlayerCall stop; } tAudioPlayerInterface; bool AudioPlayerInterfacePlay(tAudioPlayerInterface *env, char *sampleName, uint16_t snLength, uint32_t timeout); #define AudioPlayer_Start(PLAYER, NAME, LEN, TIMEOUT) PLAYER->start(PLAYER->env,NAME,LEN,TIMEOUT) #define AudioPlayer_Wait(PLAYER, TIMEOUT) PLAYER->wait(PLAYER->env,TIMEOUT) #define AudioPlayer_Stop(PLAYER, TIMEOUT) PLAYER->stop(PLAYER->env,TIMEOUT) #define AudioPlayer_Play(PLAYER, NAME, LEN, TIMEOUT) AudioPlayerInterfacePlay(PLAYER,NAME,LEN,TIMEOUT) #define AudioPlayer_PlayStatic(PLAYER, NAME, TIMEOUT) AudioPlayer_Play(PLAYER,NAME,sizeof(NAME)-1,TIMEOUT) #endif //UVEOS_ON_NATION_AUDIOPLAYERINTERFACE_H