{
OHOS::AiVoiceModel::GetInstance().SetaiAnswerStrStr(std::string(buf));
}
-
+
+// {
+// "type":3,
+// "list":[
+// {
+// "uid":3758,
+// "name":"plate_3758.bin",
+// "size":129600
+// },
+// {
+// "uid":3759,
+// "name":"plate_3759.bin",
+// "size":129600
+// }
+// ]
+// }
+// 注:MP3文件目录格式
+// {
+// "type":2,
+// "list": [
+// {
+// "uid":2461, //指定唯一编号,便于APP发送编号删除文件
+// "name":"夜曲.mp3",
+// "size":3894464,
+// "artist":"周杰伦",
+// "dur":223000 //歌曲时长,单位毫秒
+// },
+// {
+// "uid":2465, //指定唯一编号,便于APP发送编号删除文件
+// "name":"告白气球.mp3",
+// "size":3894464,
+// "artist":"周杰伦",
+// "dur":223000 //歌曲时长,单位毫秒
+// }
+// ]
+// }
+// Tag_Trailer_t Mp3Trailer;
+
+// void Tag_GetTrailer( FILE *fp)
+// {
+// // Get Header
+// fseek(fp,-128,SEEK_END);
+// fread(Mp3Trailer.Header,3,1,fp);
+// // Get Title
+// fseek(fp,-125,SEEK_END);
+// fread(Mp3Trailer.Title,30,1,fp);
+// // Get Artist
+// fseek(fp,-95,SEEK_END);
+// fread(Mp3Trailer.Artist,30,1,fp);
+// // Get Album
+// fseek(fp,-65,SEEK_END);
+// fread(Mp3Trailer.Album,30,1,fp);
+// // Get Year
+// fseek(fp,-35,SEEK_END);
+// fread(Mp3Trailer.Year,4,1,fp);
+// // Get Comment
+// fseek(fp,-31,SEEK_END);
+// fread(Mp3Trailer.Comment,30,1,fp);
+// // Get Cenre
+// fseek(fp,-1,SEEK_END);
+// fread(Mp3Trailer.Cenre,1,1,fp);
+// }
+
+
char * dir_to_json_buf_malloc_(uint8_t type)
{
char dir_path[128]={0};
+ type=2;
switch (type)
{
- case 0x43: //同步步数历史数据
- sprintf_s(dir_path,64,"%s","user/userdata/music");
+ case 2: //
+ sprintf_s(dir_path,64,"%s","user/music");
+ break;
+ case 3: //
+ sprintf_s(dir_path,64,"%s","user/userdata/dial");
break;
default:
break;
struct DIR *dir;
struct dirent *ent;
uint32_t file_size=0;
+ uint8_t file_index=1;
if ((dir = opendir(dir_path)) != NULL)
{
while ((ent = readdir(dir)) != NULL)
if (ent->d_type == DT_REG || ent->d_type == DT_UNKNOWN ) // 普通文件
{
-
- //*file_size=ent->d_reclen;
- // char file_path[128]={0};
- // sprintf_s(file_path,128,"%s/%s",TAR_PATH,ent->d_name);
+ char file_path[128]={0};
+ sprintf_s(file_path,128,"%s/%s","user/music",ent->d_name);
- // FILE * fp = fopen(file_path,"rb+");
- // if(fp==NULL)
- // {
- // printf(" fopen fail %s\r\n",file_path);
- // return NULL;
- // }
- // if (fp != NULL)
- // {
- // fseek(fp, 0, SEEK_END); // 将文件指针移动到文件末尾
- // file_size = ftell(fp); // 获取当前文件指针位置,即文件大小
- // fseek(fp, 0, SEEK_SET); // 将文件指针移回文件开头
- // }
- // fclose(fp);
-
- // cJSON* itemJSON = cJSON_CreateObject();
-
- // cJSON_AddNumberToObject(itemJSON,"index",file_index);
- // cJSON_AddNumberToObject(itemJSON,"count",file_count);
-
- // cJSON_AddNumberToObject(itemJSON,"crc",crc);
-
- // cJSON_AddStringToObject(itemJSON,"name",fileName.c_str());
- // cJSON_AddNumberToObject(itemJSON,"size",file_size);
-
- // char *json_format = cJSON_PrintUnformatted(itemJSON);
-
- // int pSize = cJSON_GetArraySize(dataJSON);
- // printf("文件数据:%s\r\n",json_format);
- // cJSON_Delete(dataJSON);
- // file_index++;
+ FILE * fp = fopen(file_path,"rb+");
+ if(fp==NULL)
+ {
+ printf(" fopen fail %s\r\n",file_path);
+ return NULL;
+ }
+ if (fp != NULL)
+ {
+ fseek(fp, 0, SEEK_END); // 将文件指针移动到文件末尾
+ file_size = ftell(fp); // 获取当前文件指针位置,即文件大小
+ fseek(fp, 0, SEEK_SET); // 将文件指针移回文件开头
+ }
+ //Tag_GetTrailer(fp);
- // return json_format;
+ fclose(fp);
- //cJSON_AddItemReferenceToArray(data_arryJSON,itemJSON);
+ cJSON* itemJSON = cJSON_CreateObject();
+ cJSON_AddNumberToObject(itemJSON,"uid",file_index);
+ cJSON_AddStringToObject(itemJSON,"name",fileName.c_str());
+ cJSON_AddNumberToObject(itemJSON,"size",file_size);
+ cJSON_AddStringToObject(itemJSON,"artist", "未知");
+ cJSON_AddStringToObject(itemJSON,"dur", "未知");
+ cJSON_AddItemReferenceToArray(data_arryJSON,itemJSON);
+ file_index++;
}
else if (ent->d_type == DT_DIR) // 目录
{
continue;
}
-
}
-
}
closedir(dir);
}
{
printf("opendir fail\r\n");
}
- return NULL;
+ cJSON_AddNumberToObject(dataJSON,"type",2);
+
+ cJSON_AddItemToObject(dataJSON,"list",data_arryJSON);
+
+ char *json_format = cJSON_PrintUnformatted(dataJSON);
+
+ int pSize = cJSON_GetArraySize(dataJSON);
+ cJSON_Delete(dataJSON);
+ printf("mp3 :%s\r\n",json_format);
+ return json_format;
}
printf("开始时间:%d\r\n",data->bedtime_min);
uint32_t wakettime= p_ConfigModel->get_configData_int(OHOS::ConfigModel::CONFIGMODEL_ITEM_SLEEP_GET_UP);
- data->waketime_hour=bedtime>>16;
- data->waketime_min=bedtime&0x00ff;
+ data->waketime_hour=wakettime>>16;
+ data->waketime_min=wakettime&0x00ff;
printf("结束时间:%d\r\n",data->waketime_hour);
printf("结束时间:%d\r\n",data->waketime_min);
// printf("GetWeatherCmd:len:%d data:%s\r\n",len,data);\r
if(Check_CRC(data,len,crcvalue))\r
{\r
+ // uint32_t y=(0xff00);\r
+ // uint32_t x =(0xff00& 0Xff00)>>16;\r
+ // printf("GetWeatherCmd %u\r\n",x);\r
uint8_t check = 1;\r
jsonCheck_weather(data,&check);\r
sendBuf[17] = check;\r
FILE *fp=fopen(file_name,"rb+");\r
\r
printf("GetAiRecordCmd size %d\r\n",file_size);\r
- uint16_t pack=file_size/num+1;\r
- uint8_t pack_id=1;\r
+ uint32_t pack=file_size/num+1;\r
+ uint32_t pack_id=1;\r
if(fp==NULL)\r
{\r
printf("fopen fail %s\r\n",file_name);\r
\r
send_big_data(1,data,read_size,file_size,pack_id,pack,0x34,1);\r
pack_id++;\r
- msleep(20);\r
+ msleep(10);\r
\r
} while (read_size==num);\r
free(data);\r
json_format=struct_to_json_buf_malloc_Alarm();\r
break;\r
case 0x21:\r
- json_format=NULL;\r
+ json_format=dir_to_json_buf_malloc_(day);\r
break;\r
\r
default:\r
case REVOKE_CURR_FILE_TRANS_CMD://撤销文件传输\r
RemoveFileCmd(buffer_handle,cmd,data,datalen,totaldata,crcvalue);\r
break;\r
- case GET_SPECIF_TYPE_FILE_CMD://获取指定类型文件目录 \r
- GetFileTypeCmd(data,datalen); //\r
- break;\r
case DELETE_SPECIF_TYPE_FILE_CMD://删除指定类型的所有文件\r
DeleteFileTypeCmd(cmd,data,datalen,totaldata,crcvalue);\r
break;\r
case APP_GET_AI_PCM_DATA_CMD:\r
GetAiRecordCmd(cmd,data,datalen,totaldata,crcvalue);\r
break;\r
+ case GET_SPECIF_TYPE_FILE_CMD://获取指定类型文件目录 \r
case AI_IS_READ_DATA_CMD:\r
case SYN_HEART_HISTORY_DATA_CMD://同步心率历史数据\r
//heartDataCmd(cmd,data,datalen,totaldata,crcvalue);\r
buf = (char *)ym_malloc(sizeof(char)*num+1);\r
if(buf==NULL)return false;\r
\r
- uint16_t pack=1;\r
+ uint32_t pack=1;\r
if(file_size%num==0)\r
pack=data_len/num;\r
else\r
pack=data_len/num+1;\r
- uint8_t pack_id=1;\r
+ uint32_t pack_id=1;\r
uint32_t read_size=0;\r
do\r
{\r
\r
printf("Read_tar_file_buf_send_Data size %d\r\n",file_size);\r
\r
- uint16_t pack=file_size/pack_size+1;\r
- uint8_t pack_id=1;\r
+ uint32_t pack=file_size/pack_size+1;\r
+ uint32_t pack_id=1;\r
if(fp==NULL)\r
{\r
printf("fopen fail %s\r\n",file_name);\r