您的位置:首页 > 其它

获得音乐文件的播放时间的长度 和 当前播放时间

2010-05-10 19:40 239 查看
一、长度

TCHAR listlen[256];

wsprintf(listlen,"status %s length",shortpath); //将命令送入listlen字符串中

TCHAR szLength[256]; //用于存放时间长度

mciSendString(listlen,szLength,sizeof(szLength)/sizeof(TCHAR),NULL); //szLength里面得到的就是音乐的长度。。但位是毫秒。

int longtime=atoi(szLength);//将得到的毫秒转化成整数

TCHAR time[100];

wsprintf(time,"%i:%i",int(longtime/1000/60),int(longtime/1000%60));//将毫秒转化成分:秒形式,此时time里面存放的就是以分:秒形式显示的数据

SetDlgItemText(hwnd,IDC_time,time); //将信息送到IDC_time对话框

二、当前时间

用播放音乐的函数mciSendString,用法(%s是歌曲路径):

mciSendString(status %s position, sPosition, 255,0);

long length_st=strtol(sPosition, NULL, 10);

得到的length_st就是当前的播放进度,单位是ms。

你可以设置一个定时器,每隔1s调用这个函数,就可以实现实时显示。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: