90 lines
3.4 KiB
C
90 lines
3.4 KiB
C
#ifndef DIGITAL_VOL_API_H
|
||
#define DIGITAL_VOL_API_H
|
||
|
||
#include "system/includes.h"
|
||
|
||
/**
|
||
* @brief 数字音量参数结构体
|
||
*/
|
||
typedef struct _digital_vol_open_parm {
|
||
unsigned char ch; /*!< 通道数 */
|
||
unsigned char vol; /*!< 当前音量大小 */
|
||
unsigned char fade_en; /*!< 是否使能淡入淡出 */
|
||
} digital_vol_open_parm;
|
||
|
||
|
||
/*----------------------------------------------------------------------------*/
|
||
/**@brief 打开数字音量处理
|
||
@param priv 私有指针
|
||
@param parm 始化参数,详见结构体digital_vol_open_parm
|
||
@return 句柄
|
||
*/
|
||
/*----------------------------------------------------------------------------*/
|
||
void *user_audio_digital_volume_open(void *priv, void *parm);
|
||
|
||
/*----------------------------------------------------------------------------*/
|
||
/**@brief 关闭数字音量处理
|
||
@param priv 句柄
|
||
@return 0:成功 -1:失败
|
||
*/
|
||
/*----------------------------------------------------------------------------*/
|
||
int user_audio_digital_volume_close(void *priv);
|
||
|
||
/*----------------------------------------------------------------------------*/
|
||
/**@brief 数字音量运行
|
||
@param priv 句柄
|
||
@param data 输入数据
|
||
@param len 输入数据长度
|
||
@param sample_rate 采样率
|
||
@return 0:成功 -1:失败
|
||
@note 数字音量调节, 调整输入数据的幅值
|
||
*/
|
||
/*----------------------------------------------------------------------------*/
|
||
int user_audio_digital_volume_run(void *priv, s16 *buf, int len, int sample_rate);
|
||
|
||
/*----------------------------------------------------------------------------*/
|
||
/**@brief 获取当前数字音量大小
|
||
@param priv 句柄
|
||
@return 返回音量大小
|
||
*/
|
||
/*----------------------------------------------------------------------------*/
|
||
u8 user_audio_digital_volume_get(void *priv);
|
||
|
||
/*----------------------------------------------------------------------------*/
|
||
/**@brief 设置当前数字音量大小,是否淡入淡出
|
||
@param priv 句柄
|
||
@param vol 音量大小
|
||
@param fade_en 淡入淡出使能
|
||
@return 0:成功 -1:失败
|
||
*/
|
||
/*----------------------------------------------------------------------------*/
|
||
int user_audio_digital_volume_set(void *priv, u8 vol, u8 fade_en);
|
||
|
||
/*----------------------------------------------------------------------------*/
|
||
/**@brief 重置清零淡入淡出
|
||
@param priv 句柄
|
||
@return 0:成功 -1:失败
|
||
*/
|
||
/*----------------------------------------------------------------------------*/
|
||
int user_audio_digital_volume_reset_fade(void *priv);
|
||
|
||
/*----------------------------------------------------------------------------*/
|
||
/**@brief 设置自定义音量表
|
||
@param priv 句柄
|
||
@param user_vol_tab 自定义音量表,自定义表长user_vol_max+1
|
||
@param user_vol_max 音量级数
|
||
*/
|
||
/*----------------------------------------------------------------------------*/
|
||
void user_audio_digital_set_volume_tab(void *priv, u16 *user_vol_tab, u8 user_vol_max);
|
||
|
||
/*----------------------------------------------------------------------------*/
|
||
/**@brief 等待淡入淡出完成
|
||
@param priv 句柄
|
||
@param pcm_cache_buf_size 缓存的pcm数据大小
|
||
@return 0:成功 -1:失败
|
||
*/
|
||
/*----------------------------------------------------------------------------*/
|
||
int user_audio_digital_volume_wait_fade_complete(void *priv, u32 pcm_cache_buf_size);
|
||
|
||
#endif
|