音效系统 (audioeffect)
可 插拔的音效过滤器链。
音效结构体
struct audio_effect_t {
struct list_head_t list;
const char * name;
void * (*create)(void);
void (*setup)(void * ctx, struct json_value_t * v);
void (*prepare)(void * ctx, struct audio_frame_t * input);
struct audio_frame_t * (*process)(void * ctx, struct audio_frame_t * input);
void (*destroy)(void * ctx);
};
过滤器链
struct audio_filter_t {
struct audio_effect_node_t * nodes;
int nlen;
};
API
| 函数 | 说明 |
|---|---|
register_audio_effect(ae) | 注册音效 |
unregister_audio_effect(ae) | 注销音效 |
audio_filter_alloc(json, len) | 从 JSON 配置创建过滤器链 |
audio_filter_free(filter) | 释放过滤器链 |
audio_filter_bypass(filter, id, bypass) | 设置绕过状态 |
audio_filter_setup(filter, id, json, len) | 重新配置音效参数 |
audio_filter_process(filter, input) | 处理音频帧 |