![]() |
CI130X SDK API手册
2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
|
用于获取播放数据,提供从SD卡,flash,串口等读入数据 更多...
#include <stdint.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include "get_play_data.h"
#include "audio_play_api.h"
#include "ci_log.h"
#include "ci_assert.h"
#include "sdk_default_config.h"
#include "audio_play_os_port.h"
#include "adpcmdec.h"
#include "ci_voice_head.h"
#include "audio_play_decoder.h"
#include "ci130x_spiflash.h"
#include "FreeRTOS.h"
#include "romlib_runtime.h"
#include "flash_manage_outside_port.h"
结构体 | |
struct | data_buf_msg_t |
数据消息类型结构 更多... | |
struct | get_play_data_msg_t |
数据请求消息结构 更多... | |
union | get_play_data_msg_t.__unnamed__ |
struct | get_play_data_msg_t.__unnamed__.spi_flash_msg |
union | get_play_data_msg_t.__unnamed__.spi_flash_msg.__unnamed__ |
struct | get_play_data_msg_t.__unnamed__.sd_card_msg |
struct | get_play_data_msg_t.__unnamed__.net_msg |
宏定义 | |
#define | WAIT_TIMEOUT (100) |
枚举 | |
enum | hw_type { GET_PLAY_DATA_NONE = 0, GET_PLAY_DATA_QSPI_FLASH = 1, GET_PLAY_DATA_QSPI_FLASH_LIST = 2, GET_PLAY_DATA_SD_CARD = 3, GET_PLAY_DATA_NET = 4, GET_PLAY_DATA_OUTSIDE = 5, GET_PLAY_DATA_OUTSIDE_V2 = 6 } |
数据源类型 更多... | |
enum | get_data_flag_t { NEW_DATA = 1, CONTINUE_DATA = 2 } |
数据标识 更多... | |
函数 | |
static void | save_audio_info (get_play_data_msg_t *msg) |
在请求暂停时,保存当前读取数据进度 更多... | |
void | clean_curr_offset (void) |
清理播放offset 更多... | |
int32_t | check_ci_voice_head (ci_voice_head_t *wave_head, uint32_t *wave_lens, uint32_t *head_lens, prompt_decoder_config *config, uint32_t *threshold_data_size) |
检查ci voice头信息 更多... | |
void | task_get_play_data (void *pvParameters) |
获取播放数据任务 更多... | |
int32_t | receive_data (uint32_t *addr, uint32_t *size, uint32_t *flag) |
接收数据buf地址 更多... | |
void | finsh_read_data (void) |
释放数据buf 更多... | |
int32_t | pause_read_data (void) |
请求暂停数据并保存记录 更多... | |
int32_t | continue_data_valid (void) |
历史数据有效性检查 更多... | |
get_play_data_state_t | get_data_task_state (void) |
返回本模块任务状态 更多... | |
uint32_t | get_curr_offset (void) |
返回播放offset 更多... | |
void | task_get_play_data_init (void) |
获取audio数据任务预初始化 更多... | |
int32_t | get_flash_data (uint32_t arg, uint32_t num) |
请求获取flash音频数据 更多... | |
int32_t | continue_read_data (void) |
请求获取被打断的数据 更多... | |
变量 | |
static uint8_t * | data_buf = NULL |
static audio_play_os_queue_t | get_play_data_queue = NULL |
static audio_play_os_queue_t | data_buf_queue = NULL |
static audio_play_os_sem_t | pause_data_event = NULL |
static get_play_data_state_t | get_data_state = GET_PLAY_DATA_STATE_IDLE |
static uint32_t | curr_offset = 0 |
static get_play_data_msg_t | data_list |
static uint32_t | data_size = 0 |
用于获取播放数据,提供从SD卡,flash,串口等读入数据
struct data_buf_msg_t |
struct get_play_data_msg_t |
数据请求消息结构
成员变量 | ||
---|---|---|
union get_play_data_msg_t | __unnamed__ | |
get_data_flag_t | flag |
请求标志 |
uint32_t | offset |
地址偏移 |
hw_type | type |
数据源类型 |
union get_play_data_msg_t.__unnamed__ |
成员变量 | ||
---|---|---|
__unnamed__ | net_msg |
网络请求消息 |
__unnamed__ | sd_card_msg |
sd卡请求消息 |
__unnamed__ | spi_flash_msg |
flash请求消息 |
struct get_play_data_msg_t.__unnamed__.spi_flash_msg |
成员变量 | ||
---|---|---|
spi_flash_msg | __unnamed__ | |
uint32_t | num |
数据大小 |
union get_play_data_msg_t.__unnamed__.spi_flash_msg.__unnamed__ |
struct get_play_data_msg_t.__unnamed__.sd_card_msg |
#define WAIT_TIMEOUT (100) |
int32_t check_ci_voice_head | ( | ci_voice_head_t * | wave_head, |
uint32_t * | wave_lens, | ||
uint32_t * | head_lens, | ||
prompt_decoder_config * | config, | ||
uint32_t * | threshold_data_size | ||
) |
检查ci voice头信息
wave_head | |
wave_lens | |
wave_addr |
void clean_curr_offset | ( | void | ) |
清理播放offset
int32_t continue_data_valid | ( | void | ) |
历史数据有效性检查
RETURN_OK | 数据有效 |
RETURN_ERR | 数据无效 |
int32_t continue_read_data | ( | void | ) |
请求获取被打断的数据
RETURN_OK | 请求成功 |
RETURN_ERR | 请求失败 |
void finsh_read_data | ( | void | ) |
释放数据buf
uint32_t get_curr_offset | ( | void | ) |
返回播放offset
get_play_data_state_t get_data_task_state | ( | void | ) |
返回本模块任务状态
int32_t get_flash_data | ( | uint32_t | arg, |
uint32_t | num | ||
) |
请求获取flash音频数据
arg | flash音频地址或地址列表指针 |
num | 音频个数大小 |
RETURN_OK | 请求成功 |
RETURN_ERR | 请求失败 |
int32_t pause_read_data | ( | void | ) |
请求暂停数据并保存记录
RETURN_OK | 数据有效 |
RETURN_ERR | 数据无效 |
int32_t receive_data | ( | uint32_t * | addr, |
uint32_t * | size, | ||
uint32_t * | flag | ||
) |
接收数据buf地址
addr | buf地址 |
size | 数据size |
flag | buf标志 |
RETURN_OK | 接收成功 |
RETURN_ERR | 接收失败 |
|
static |
在请求暂停时,保存当前读取数据进度
msg | 当前播放信息句柄 |
void task_get_play_data | ( | void * | pvParameters | ) |
获取播放数据任务
pvParameters | task参数 |
void task_get_play_data_init | ( | void | ) |
获取audio数据任务预初始化
|
static |
记录数据起始偏移
|
static |
audio数据buf
|
static |
audio数据buf队列
|
static |
历史数据记忆表
|
static |
数据源总大小
|
static |
数据获取task状态
|
static |
数据请求队列
|
static |
暂停事件信号