为啥在我的代码中获取状态位置的 mciSendString() 失败?

Posted

技术标签:

【中文标题】为啥在我的代码中获取状态位置的 mciSendString() 失败?【英文标题】:why mciSendString() to get status position fails in my code?为什么在我的代码中获取状态位置的 mciSendString() 失败? 【发布时间】:2010-02-05 14:48:13 【问题描述】:

有什么方法可以查询mci设备来查询当前播放位置,以便我们可以从那里继续播放?

cmd.Format(L"status %d waveaudio position",m_iDeviceIDPlayer);

mcirez = mciSendString(cmd,buff.GetBuffer(),1024, NULL);

它给出了这个错误:“指定的设备未打开或未被 MCI 识别”

命令有问题吗?

【问题讨论】:

【参考方案1】:
MCI_STATUS_PARMS status;
status.dwItem = MCI_STATUS_POSITION;
status.dwCallback = 0;

dwReturn = mciSendCommand(m_iDeviceIDPlayer,MCI_STATUS,MCI_STATUS_ITEM|MCI_WAIT,(DWORD_PTR)&status);     

Position -> status.dwReturn 是需要的位置。

【讨论】:

以上是关于为啥在我的代码中获取状态位置的 mciSendString() 失败?的主要内容,如果未能解决你的问题,请参考以下文章