settimer 回调函数 判断MP3文件播放结束 mciSendString获取文件产度
如题所示 本人做的是一个mp3 播放器 绞尽脑汁 无法实现判断MP3文件播放结束 跳转下一曲的功能 请大神帮忙 明天答辩了
[解决办法]
你是用c语言做的?还是mfc之类的?
[解决办法]
setitimer吧
[解决办法]
unsigned long getmusictime(char *s)//利用MCI命令,*S为文件名,返回值为文件时间的秒数{unsigned long m_dLength;int m_wDeviceID;char buf[128]; MCI_OPEN_PARMS mciOpen;MCI_STATUS_PARMS mciStatusParms; MCIERROR mciError; mciOpen.lpstrElementName=(LPCTSTR)s;//取得文件名 mciError=mciSendCommand(NULL,MCI_OPEN,MCI_OPEN_ELEMENT,(DWORD)(LPVOID)&mciOpen);//打开文件 if(mciError) //出错处理{ mciGetErrorString(mciError,buf,128); printf("%s\n",buf); getchar();} m_wDeviceID=mciOpen.wDeviceID; mciStatusParms.dwItem=MCI_STATUS_LENGTH; mciSendCommand(m_wDeviceID,MCI_STATUS,MCI_WAIT|MCI_STATUS_ITEM,(DWORD)(LPVOID)&mciStatusParms);//关键,取得长度 m_dLength=mciStatusParms.dwReturn;mciSendCommand(m_wDeviceID,MCI_CLOSE,0,NULL);//关闭文件return m_dLength;}
[解决办法]