通过函数 FS_FindFirstN和函数FS_FindNextN搜索flash中的所有视频文件,如果文件名比较长,获得的就是该文件的短文件名;而rmvb的短文件名的扩展名是.rmv,.rmv会被过滤掉,所以最终无法找到;
方法1:让rmv不被过滤
(1) 文件PlstSrvpls.h, 枚举:srv_plst_support_format_enum
中添加: SRV_PLST_FORMAT_RMV
(2)文件PlstSrvpls.c 数组srv_plst_support_format[] 中的宏
#ifdef __RM_DEC_SUPPORT__
#endif 中添加 {SRV_PLST_FORMAT_RMV, L”RMV”}
(3) 函数pls_db_util_get_if_video() 添加:
#ifdef __RM_DEC_SUPPORT__
if(file_type == SRV_PLST_FORMAT_RM || file_type == SRV_PLST_FORMAT_RV
|| file_type == SRV_PLST_FORMAT_RMVB || file_type == SRV_PLST_FORMAT_RMV)
{
is_video = MMI_TRUE;
}
#endif
方法二: 让函数FS_FindNextN 和 函数FS_FindFirstN 能够读取更长的文件名
int FS_FindNextN(FS_HANDLE Handle,FS_Pattern_Struct * PatternArray, kal_uint32 PatternNum,
kal_uint8 ArrayMask,FS_DOSDirEntry * FileInfo, WCHAR * FileName, kal_uint32 MaxLength,
kal_uint32 Flag)
增加filename 对应的buffer 大小,增加MaxLength的大小
增加宏 SRV_PLST_MAX_TEMP_FILE_LENGTH 对应的值即可;