31 lines
1.1 KiB
C
31 lines
1.1 KiB
C
#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
|