中级会员
- 积分
- 452
- 金钱
- 452
- 注册时间
- 2019-5-31
- 在线时间
- 159 小时
|
楼主 |
发表于 2024-4-23 20:50:14
|
显示全部楼层
本帖最后由 zhuls12 于 2024-4-23 21:01 编辑
- void mp3_msg_show(u32 lenth)
- {
- static u16 playtime=0;//播放时间标记
- u16 time=0;// 时间变量
- u16 temp=0;
- if(f_kbps==0xffff)//未更新过
- {
- playtime=0;
- f_kbps=VS_Get_HeadInfo(); //获得比特率
- }
- time=VS_Get_DecodeTime(); //得到解码时间
- if(playtime==0)playtime=time;
- else if((time!=playtime)&&(time!=0))//1s时间到,更新显示数据
- {
- playtime=time;//更新时间
- temp=VS_Get_HeadInfo(); //获得比特率
- if(temp!=f_kbps)
- {
- f_kbps=temp;//更新KBPS
- }
- //显示播放时间
- LCD_ShowIntNum(30,150,time/60,2,WHITE,BLUE,16);//分钟
- LCD_ShowChar(30+16,150,':',WHITE,BLUE,16,0);
- LCD_ShowIntNum(30+24,150,time%60,2,WHITE,BLUE,16);//秒钟
- LCD_ShowChar(30+40,150,'/',WHITE,BLUE,16,0);
-
- //显示总时间
- if(f_kbps)time=(lenth/f_kbps)/125;//得到秒钟数 (文件长度(字节)/(1000/8)/比特率=持续秒钟数
- else time=0;//非法位率
- LCD_ShowIntNum(30+48,150,time/60,2,WHITE,BLUE,16);//分钟
- LCD_ShowChar(30+64,150,':',WHITE,BLUE,16,0);
- LCD_ShowIntNum(30+72,150,time%60,2,WHITE,BLUE,16);//秒钟
-
- //显示位率
- LCD_ShowIntNum(30+110,150,f_kbps,3,WHITE,BLUE,16); //显示位率
- LCD_ShowString(30+134,150,"Kbps",WHITE,BLUE,16,0);
- }
- }
复制代码 这是代码块,是哪里计算出错了吗?
if(f_kbps)time=(lenth/f_kbps)/125;//得到秒钟数 (文件长度(字节)/(1000/8)/比特率=持续秒钟数
在这里,lenth=0x0277B750,f_kbs=0x00f4
公式貌似不对啊。
|
|