#ifndef __AUDIO_HAL_H #define __AUDIO_HAL_H #include "ch32v30x.h" typedef enum { audio_hal_ok = 0, //配置成功或正常播放完毕 audio_hal_invalid_argument, //错误的参数 audio_hal_error_open_file, //无法打开文件 audio_hal_error_read_file, //无法读取文件 audio_hal_error_insufficient_memory, //内存不足 audio_hal_error_unsupported_format, //不支持的音频文件格式 audio_hal_error_unsupported_parameter, //不支持的音频文件参数 audio_hal_result_next, //切换下一曲 audio_hal_result_prev, //切换上一曲 audio_hal_result_pause, //暂停播放 audio_hal_result_random, //随机切换音乐 audio_hal_result_repeat, //重新播放当前音乐 } audio_hal_result_t; void audio_hal_init_dac(void); audio_hal_result_t audio_hal_start(uint32_t sample_count, uint8_t sample_size, uint32_t sample_rate, uint8_t channel_count); void *audio_hal_get_free_buffer(void); void audio_hal_dac_postprocess(int16_t* buffer); void audio_hal_pause(void); void audio_hal_resume(void); void audio_hal_stop(void); #endif