CI130X SDK API手册  2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
结构体 | 宏定义 | 枚举 | 函数 | 变量
get_play_data.c 文件参考

用于获取播放数据,提供从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,串口等读入数据

版本
V2.0.3
日期
2018.07.17

结构体说明

◆ data_buf_msg_t

struct data_buf_msg_t

数据消息类型结构

成员变量
uint32_t data_addr

数据buf地址

uint32_t data_flag

buf标志

uint32_t data_size

数据buf大小

◆ get_play_data_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

数据源类型

◆ get_play_data_msg_t.__unnamed__

union get_play_data_msg_t.__unnamed__
成员变量
__unnamed__ net_msg

网络请求消息

__unnamed__ sd_card_msg

sd卡请求消息

__unnamed__ spi_flash_msg

flash请求消息

◆ get_play_data_msg_t.__unnamed__.spi_flash_msg

struct get_play_data_msg_t.__unnamed__.spi_flash_msg
成员变量
spi_flash_msg __unnamed__
uint32_t num

数据大小

◆ get_play_data_msg_t.__unnamed__.spi_flash_msg.__unnamed__

union get_play_data_msg_t.__unnamed__.spi_flash_msg.__unnamed__
成员变量
uint32_t arg

参数

uint32_t data_addr

地址

uint32_t data_addr_list

地址序列

◆ get_play_data_msg_t.__unnamed__.sd_card_msg

struct get_play_data_msg_t.__unnamed__.sd_card_msg
成员变量
const char * dir

file dir

const char * name

file name

◆ get_play_data_msg_t.__unnamed__.net_msg

struct get_play_data_msg_t.__unnamed__.net_msg
成员变量
const char * url

网络URL

宏定义说明

◆ WAIT_TIMEOUT

#define WAIT_TIMEOUT   (100)

枚举类型说明

◆ get_data_flag_t

数据标识

枚举值
NEW_DATA 

新数据

CONTINUE_DATA 

历史缓冲数据

◆ hw_type

数据源类型

枚举值
GET_PLAY_DATA_NONE 

GET_PLAY_DATA_QSPI_FLASH 

QSPI FLASHE

GET_PLAY_DATA_QSPI_FLASH_LIST 

QSPI FLASHE List

GET_PLAY_DATA_SD_CARD 

SD 卡

GET_PLAY_DATA_NET 

网络

GET_PLAY_DATA_OUTSIDE 

外部接口

GET_PLAY_DATA_OUTSIDE_V2 

外部接口V2

函数说明

◆ check_ci_voice_head()

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
返回
int32_t

◆ clean_curr_offset()

void clean_curr_offset ( void  )

清理播放offset

◆ continue_data_valid()

int32_t continue_data_valid ( void  )

历史数据有效性检查

返回值
RETURN_OK数据有效
RETURN_ERR数据无效

◆ continue_read_data()

int32_t continue_read_data ( void  )

请求获取被打断的数据

返回值
RETURN_OK请求成功
RETURN_ERR请求失败

◆ finsh_read_data()

void finsh_read_data ( void  )

释放数据buf

◆ get_curr_offset()

uint32_t get_curr_offset ( void  )

返回播放offset

返回
uint32_t 播放进度

◆ get_data_task_state()

get_play_data_state_t get_data_task_state ( void  )

返回本模块任务状态

返回
get_play_data_state_t 数据读入任务状态

◆ get_flash_data()

int32_t get_flash_data ( uint32_t  arg,
uint32_t  num 
)

请求获取flash音频数据

参数
argflash音频地址或地址列表指针
num音频个数大小
返回值
RETURN_OK请求成功
RETURN_ERR请求失败

◆ pause_read_data()

int32_t pause_read_data ( void  )

请求暂停数据并保存记录

返回值
RETURN_OK数据有效
RETURN_ERR数据无效

◆ receive_data()

int32_t receive_data ( uint32_t *  addr,
uint32_t *  size,
uint32_t *  flag 
)

接收数据buf地址

参数
addrbuf地址
size数据size
flagbuf标志
返回值
RETURN_OK接收成功
RETURN_ERR接收失败

◆ save_audio_info()

static void save_audio_info ( get_play_data_msg_t msg)
static

在请求暂停时,保存当前读取数据进度

参数
msg当前播放信息句柄

◆ task_get_play_data()

void task_get_play_data ( void *  pvParameters)

获取播放数据任务

参数
pvParameterstask参数

◆ task_get_play_data_init()

void task_get_play_data_init ( void  )

获取audio数据任务预初始化

注解
请在OS运行前调用

变量说明

◆ curr_offset

uint32_t curr_offset = 0
static

记录数据起始偏移

◆ data_buf

uint8_t* data_buf = NULL
static

audio数据buf

◆ data_buf_queue

audio_play_os_queue_t data_buf_queue = NULL
static

audio数据buf队列

◆ data_list

get_play_data_msg_t data_list
static
初始值:
=
{
}
Definition: get_play_data.c:48

历史数据记忆表

◆ data_size

uint32_t data_size = 0
static

数据源总大小

◆ get_data_state

数据获取task状态

◆ get_play_data_queue

audio_play_os_queue_t get_play_data_queue = NULL
static

数据请求队列

◆ pause_data_event

audio_play_os_sem_t pause_data_event = NULL
static

暂停事件信号