luat_soc_sdk_2024 V1.0
|
结构体 | |
struct | luat_audio_play_info_t |
audio播放控制参数 更多... | |
函数 | |
void | luat_audio_play_file_default_fun (void *param) |
void | luat_audio_play_tts_default_fun (void *param) |
void | luat_audio_play_global_init (audio_play_event_cb_fun_t event_cb, audio_play_data_cb_fun_t data_cb, audio_play_default_fun_t play_file_fun, audio_play_default_fun_t play_tts_fun, void *user_param) |
音频播放初始化,可以选择是否启用TTS,文件播放功能,用来节省flash空间 | |
void | luat_audio_play_global_init_with_task_priority (audio_play_event_cb_fun_t event_cb, audio_play_data_cb_fun_t data_cb, audio_play_default_fun_t play_file_fun, audio_play_default_fun_t play_tts_fun, void *user_param, uint8_t priority) |
音频播放初始化,可以选择是否启用TTS,文件播放功能,用来节省flash空间,可以配置audio任务优先级 | |
int | luat_audio_play_multi_files (uint8_t multimedia_id, luat_audio_play_info_t info[], uint32_t files_num) |
播放指定数量的文件或者ROM数组(文件数据直接写成数组形式) | |
uint8_t | luat_audio_play_is_finish (uint8_t multimedia_id) |
是否播放完全部数据 | |
int | luat_audio_play_fast_stop (uint8_t multimedia_id) |
强制停止播放文件,如果音频解码已经完成了,会停止已经输出到底层驱动的数据播放 | |
int | luat_audio_play_clear_stop_flag (uint8_t multimedia_id) |
清除强制停止播放文件的标识,可以在误操作stop时不影响下一次播放 | |
int | luat_audio_play_pause_raw (uint8_t multimedia_id, uint8_t is_pause) |
暂停/恢复播放 | |
int | luat_audio_play_get_last_error (uint8_t multimedia_id) |
获取上一次播放结果,在MULTIMEDIA_CB_AUDIO_DONE回调时调用最佳 | |
int | luat_audio_play_write_blank_raw (uint8_t multimedia_id, uint8_t cnt, uint8_t add_font) |
在开头或者结尾插入多段空白数据,每段数据约100ms | |
int | luat_audio_play_start_raw (uint8_t multimedia_id, uint8_t audio_format, uint8_t num_channels, uint32_t sample_rate, uint8_t bits_per_sample, uint8_t is_signed) |
立刻初始化播放未编码的原始音频数据流 | |
int | luat_audio_play_write_raw (uint8_t multimedia_id, uint8_t *data, uint32_t len) |
向底层驱动传入一段原始音频数据 | |
int | luat_audio_play_stop_raw (uint8_t multimedia_id) |
强制停止所有播放,同时底层驱动也会停止输出,不要用于播放文件的结束 | |
void | luat_audio_play_tts_set_resource (void *address, void *sdk_id, void *tts_resource_read_fun) |
设置TTS的资源和对应SDKID,TTS资源有很多种。 | |
void * | luat_audio_play_get_stream (uint8_t multimedia_id) |
获取底层播放的stream指针 | |
void | luat_audio_play_set_user_lock (uint8_t multimedia_id, uint8_t onoff) |
控制底层播放是否允许结束 | |
void | luat_audio_inter_amr_init (uint8_t is_wb, uint8_t quality) |
int | luat_audio_inter_amr_encode (const uint16_t *pcm_buf, uint8_t *amr_buf, uint8_t *amr_len) |
int | luat_audio_inter_amr_decode (uint16_t *pcm_buf, const uint8_t *amr_buf, uint8_t *amr_len) |
void | luat_audio_inter_amr_deinit (void) |
void * | luat_audio_inter_amr_pcm_address (void) |
int luat_audio_inter_amr_decode | ( | uint16_t * | pcm_buf, |
const uint8_t * | amr_buf, | ||
uint8_t * | amr_len ) |
void luat_audio_inter_amr_deinit | ( | void | ) |
int luat_audio_inter_amr_encode | ( | const uint16_t * | pcm_buf, |
uint8_t * | amr_buf, | ||
uint8_t * | amr_len ) |
void luat_audio_inter_amr_init | ( | uint8_t | is_wb, |
uint8_t | quality ) |
void * luat_audio_inter_amr_pcm_address | ( | void | ) |
int luat_audio_play_clear_stop_flag | ( | uint8_t | multimedia_id | ) |
清除强制停止播放文件的标识,可以在误操作stop时不影响下一次播放
multimedia_id | multimedia_id 多媒体通道,目前只有0 |
int luat_audio_play_fast_stop | ( | uint8_t | multimedia_id | ) |
强制停止播放文件,如果音频解码已经完成了,会停止已经输出到底层驱动的数据播放
multimedia_id | multimedia_id 多媒体通道,目前只有0 |
void luat_audio_play_file_default_fun | ( | void * | param | ) |
int luat_audio_play_get_last_error | ( | uint8_t | multimedia_id | ) |
获取上一次播放结果,在MULTIMEDIA_CB_AUDIO_DONE回调时调用最佳
multimedia_id | multimedia_id 多媒体通道,目前只有0 |
void * luat_audio_play_get_stream | ( | uint8_t | multimedia_id | ) |
获取底层播放的stream指针
multimedia_id | multimedia_id 多媒体通道,目前只有0 |
void luat_audio_play_global_init | ( | audio_play_event_cb_fun_t | event_cb, |
audio_play_data_cb_fun_t | data_cb, | ||
audio_play_default_fun_t | play_file_fun, | ||
audio_play_default_fun_t | play_tts_fun, | ||
void * | user_param ) |
音频播放初始化,可以选择是否启用TTS,文件播放功能,用来节省flash空间
event_cb | 播放时event回调函数 |
data_cb | 数据解码回调函数,如果是直接播放原始数据流就不会用到 |
play_file_fun | 播放文件的具体处理函数,选择luat_audio_play_file_default_fun进行处理,或者写NULL不启用播放文件的功能 |
play_tts_fun | 播放TTS的具体处理函数,选择luat_audio_play_tts_default_fun进行处理,或者写NULL不启用播放TTS的功能 |
user_param | 回调函数的用户参数 |
void luat_audio_play_global_init_with_task_priority | ( | audio_play_event_cb_fun_t | event_cb, |
audio_play_data_cb_fun_t | data_cb, | ||
audio_play_default_fun_t | play_file_fun, | ||
audio_play_default_fun_t | play_tts_fun, | ||
void * | user_param, | ||
uint8_t | priority ) |
音频播放初始化,可以选择是否启用TTS,文件播放功能,用来节省flash空间,可以配置audio任务优先级
event_cb | 播放时event回调函数 |
data_cb | 数据解码回调函数,如果是直接播放原始数据流就不会用到 |
play_file_fun | 播放文件的具体处理函数,选择luat_audio_play_file_default_fun进行处理,或者写NULL不启用播放文件的功能 |
play_tts_fun | 播放TTS的具体处理函数,选择luat_audio_play_tts_default_fun进行处理,或者写NULL不启用播放TTS的功能 |
user_param | 回调函数的用户参数 |
priority | audio任务优先级 |
uint8_t luat_audio_play_is_finish | ( | uint8_t | multimedia_id | ) |
是否播放完全部数据
multimedia_id | multimedia_id 多媒体通道,目前只有0 |
int luat_audio_play_multi_files | ( | uint8_t | multimedia_id, |
luat_audio_play_info_t | info[], | ||
uint32_t | files_num ) |
播放指定数量的文件或者ROM数组(文件数据直接写成数组形式)
multimedia_id | 多媒体通道,目前只有0 |
info | 文件信息,文件路径或者ROM信息 |
files_num | 文件数量 |
int luat_audio_play_pause_raw | ( | uint8_t | multimedia_id, |
uint8_t | is_pause ) |
暂停/恢复播放
multimedia_id | multimedia_id 多媒体通道,目前只有0 |
is_pause | 0恢复,其他暂停 |
void luat_audio_play_set_user_lock | ( | uint8_t | multimedia_id, |
uint8_t | onoff ) |
控制底层播放是否允许结束
multimedia_id | multimedia_id 多媒体通道,目前只有0 |
int luat_audio_play_start_raw | ( | uint8_t | multimedia_id, |
uint8_t | audio_format, | ||
uint8_t | num_channels, | ||
uint32_t | sample_rate, | ||
uint8_t | bits_per_sample, | ||
uint8_t | is_signed ) |
立刻初始化播放未编码的原始音频数据流
multimedia_id | multimedia_id 多媒体通道,目前只有0 |
audio_format | 音频数据格式,目前只支持PCM,即需要手动解码 |
num_channels | 声道数,目前只能1或2 |
sample_rate | 采样率,注意只有8K,16K,32K,48K,96K,22.05K,44.1K这些能被支持 |
bits_per_sample | 量化bit,只能是16 |
is_signed | 量化数据是否带符号,只能是1 |
int luat_audio_play_stop_raw | ( | uint8_t | multimedia_id | ) |
强制停止所有播放,同时底层驱动也会停止输出,不要用于播放文件的结束
multimedia_id | multimedia_id 多媒体通道,目前只有0 |
void luat_audio_play_tts_default_fun | ( | void * | param | ) |
void luat_audio_play_tts_set_resource | ( | void * | address, |
void * | sdk_id, | ||
void * | tts_resource_read_fun ) |
设置TTS的资源和对应SDKID,TTS资源有很多种。
address | 资源的flash或者ram地址 |
sdk_id | 本质上就是传入AISOUND_SDK_USERID |
tts_resource_read_fun | 读取资源文件的函数,如果是NULL,则使用默认函数,即单纯的拷贝,如果用自己的函数,必须按照ivCBReadResExt定义 |
int luat_audio_play_write_blank_raw | ( | uint8_t | multimedia_id, |
uint8_t | cnt, | ||
uint8_t | add_font ) |
在开头或者结尾插入多段空白数据,每段数据约100ms
multimedia_id | multimedia_id 多媒体通道,目前只有0 |
cnt | 段数 |
add_font | 是否加载到开头位置 1是,0否 |
int luat_audio_play_write_raw | ( | uint8_t | multimedia_id, |
uint8_t * | data, | ||
uint32_t | len ) |
向底层驱动传入一段原始音频数据
multimedia_id | multimedia_id 多媒体通道,目前只有0 |
data | 原始音频数据 |
len | 原始音频数据长度 |