mtk-在手机内存中固化一首歌
来源:互联网 发布:上瘾网络剧腾讯视频 编辑:程序博客网 时间:2024/05/03 01:41
#if 1//daizhx
定义mp3数据
__align(2) static const unsigned char mp3_name1[] = {.............}
#define MMI_MP3FILE_SUBFIX ".mp3" // PB备份文件后缀?
#define MP3_NUM 1
S16 Have_Copyed = 0;
#define MP3_name_string L"MUSIC"
void Copy_Mp3To_Nvram(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
FS_HANDLE fp,fp2;
S8 tmp_str[60] = {0};
S8 tmp_str2[60] = {0};
S8 mp3_folder_path[60 * 2] = {0};
S8 mp3_folder_path2[60 * 2] = {0};
S8 subfix_str[4+1];
S8 subfix_name[(4+1) * 2];
UI_character_type name[260+1];
U32 written;
S32 fs_ret;
U64 disk_free_space;
FS_DiskInfo disk_info;
U32 audio_len;
U8 i,j;
S32 create_result;
kal_prompt_trace(MOD_MMI,"Copy_Mp3To_Nvram");
audio_len=sizeof(mp3_name1);
sprintf(tmp_str, "%c", SRV_FMGR_PUBLIC_DRV);
mmi_asc_to_ucs2((S8*) mp3_folder_path, (S8*) tmp_str);
fs_ret = FS_GetDiskInfo((PU16) mp3_folder_path, &disk_info, FS_DI_BASIC_INFO | FS_DI_FREE_SPACE);
memset(tmp_str, 0x00, strlen(tmp_str));
memset(mp3_folder_path, 0x00, 2*mmi_ucs2strlen(mp3_folder_path));
disk_free_space = 0;
if (fs_ret >= 0)
{
disk_free_space = (U64)disk_info.FreeClusters * disk_info.SectorsPerCluster * disk_info.BytesPerSector;
}
if((disk_free_space <= audio_len)||(disk_free_space<=10*1024))
{
kal_prompt_trace(MOD_MMI,"disk_free_space=%d,audio_len=%d",disk_free_space,audio_len);
return;
}
sprintf(tmp_str2, "%c%s", SRV_FMGR_PUBLIC_DRV, ":\\My Music\\");
mmi_asc_to_ucs2((S8*) mp3_folder_path2, (S8*) tmp_str2);
create_result = FS_CreateDir((PU16) mp3_folder_path2);
kal_prompt_trace(MOD_MMI,"create_result=%d",create_result);
if (create_result != FS_NO_ERROR)
{
if (create_result == FS_DISK_FULL)
{
kal_prompt_trace(MOD_MMI,"FS_DISK_FULL");
return;
}
else if (create_result == FS_ROOT_DIR_FULL)
{
kal_prompt_trace(MOD_MMI,"FS_ROOT_DIR_FULL");
return;
}
}
for(i=0;i<MP3_NUM;i++)
{
memset(tmp_str, 0x00, strlen(tmp_str));
memset(mp3_folder_path, 0x00, 2*mmi_ucs2strlen(mp3_folder_path));
memset(subfix_str, 0x00, strlen(subfix_str));
memset(subfix_name, 0x00, 2*mmi_ucs2strlen(subfix_name));
memset(name, 0x00, 2*mmi_ucs2strlen((S8*) name));
sprintf(tmp_str, "%c%s", SRV_FMGR_PUBLIC_DRV, ":\\My Music\\");
mmi_asc_to_ucs2((S8*) mp3_folder_path, (S8*) tmp_str);
sprintf(subfix_str, "%s", MMI_MP3FILE_SUBFIX);
mmi_asc_to_ucs2((S8*) subfix_name, (S8*) subfix_str);
if(i==0)
{
mmi_ucs2cpy((S8*)name, (S8*)MP3_name_string);
}
mmi_ucs2cat((S8*)name, subfix_name);
mmi_ucs2cat(mp3_folder_path,(S8*) name);
fp2=FS_Open((PU16)mp3_folder_path,FS_READ_ONLY);
kal_prompt_trace(MOD_MMI,"fp2=%d",fp2);
if(fp2< 0)
{
if ((fp = FS_Open((PU16)mp3_folder_path, (FS_READ_WRITE | FS_CREATE_ALWAYS))) < FS_NO_ERROR)
{
return;
}
if(i==0)
{
FS_Write(fp, (void *)mp3_name1, sizeof(mp3_name1), &written);
kal_prompt_trace(MOD_MMI,"FS_Write sucess!");
}
FS_Close(fp);
}
else
{
Have_Copyed=1;
FS_Close(fp2);
}
}
}
#endif
在函数mmi_audply_app_pre_entry中加上
#if 1//daizhx insert mp3
if(Have_Copyed==0)
{
Copy_Mp3To_Nvram();
}
#endif
- mtk-在手机内存中固化一首歌
- 在Quartus II中使用JTAG模式固化程序到EPCS中的方法
- 在Quartus II中使用JTAG模式固化程序到EPCS中的方法
- 在Linux平台中调试C/C++内存泄漏方法 (腾讯和MTK面试的时候问到的)
- 在Linux平台中调试C/C++内存泄漏方法 (腾讯和MTK面试的时候问到的)
- 在MTK源码中添加hello驱动
- 手机MTK芯片组格式化
- MTK手机晶片分类
- MTK手机暗码
- mtk手机维修
- MTK 手机开机过程
- MTK 手机指令集锦
- MTK手机驱动培训资料
- MTK手机模拟器打包
- MTK手机平台指令
- MTK山寨手机攻略
- MTK手机系统
- MTK山寨手机攻略
- iPhone获取当前位置信息
- 我喜欢下面每一个故事
- 8400mg显卡,N卡的显卡门
- iphone-常用的对视图图层(layer)的操作
- 鹰与马
- mtk-在手机内存中固化一首歌
- Git详解之五 分布式Git
- 这十年,有多少人是从周杰伦到陈奕迅?
- windows系统右下角的db2图标消失怎么办?
- ubuntu系统若干设置
- linux下vi命令大全(备忘)
- 周鸿袆: 教您打造十页完美商业计划书
- 今年最雷人的200条个性签名
- python3之数字(在实际应用中的数字--整数精度)