关于MP3持续时间获取 window平台 c/c++ 有源码 求分析

tts_264 2014-04-28 02:09:31
static unsigned long getMP3Duration(char *szPath)
{
MCIERROR mciError;
MCI_OPEN_PARMS mciOpen;
MCI_STATUS_PARMS mciStatusParms;

mciOpen.lpstrElementName = (LPCTSTR)szPath;
mciError = mciSendCommand(NULL, MCI_OPEN, MCI_OPEN_ELEMENT, (DWORD)(LPVOID)&mciOpen);
if (mciError)
return 0;

mciStatusParms.dwItem = MCI_STATUS_LENGTH;
mciSendCommand(mciOpen.wDeviceID, MCI_STATUS,
MCI_WAIT | MCI_STATUS_ITEM, (DWORD)(LPVOID)&mciStatusParms);
mciSendCommand(mciOpen.wDeviceID, MCI_CLOSE, 0, NULL);

return mciStatusParms.dwReturn / 1000;
}

为什么到32位下可以 64位下执行mciSendCommand报错 有没人人能解答 谢谢
...全文
138 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tts_264 2014-04-30
  • 打赏
  • 举报
回复
难道发错地方了?
tts_264 2014-04-28
  • 打赏
  • 举报
回复
还有没有人知道 或者告诉我另外一个方法也可以啊 能正确得到MP3的持续时间就可以了 在线等
tts_264 2014-04-28
  • 打赏
  • 举报
回复
引用 1 楼 modyaj 的回复:
不能回答 既然知道mciSendCommand调用出问题 那么你该去查查 mciSendCommand 的平台兼容性如何 64位下怎么调用 顺便看看错误码 是什么错误
我也想去看错误代码提示啊 但是直接程序就挂了 提示指针指向的内存错误 我也百度了好久 没看见这个有什么平台兼容性啊 如果你知道 能告诉我正确的写法吗?
modyaj 2014-04-28
  • 打赏
  • 举报
回复
不能回答 既然知道mciSendCommand调用出问题 那么你该去查查 mciSendCommand 的平台兼容性如何 64位下怎么调用 顺便看看错误码 是什么错误

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧