【发布时间】:2015-04-06 22:22:25
【问题描述】:
我一直在尝试检索我能够使用 WINMM 的函数 mciSendString(); 打开和播放的音乐的歌曲长度;
char szCmd[128];
char szResponse[128] = {0};
sprintf_s( szCmd, 128, "status my_alias length");
dwRet = mciSendString( (LPCSTR)szCmd, szResponse, 0, NULL );
即使没有返回错误代码,szResponse 字符串也总是返回 NULL。
我尝试将时间格式设置为毫秒,
"set my_alias time format to milliseconds"
但也没有运气。 关于我可能遗漏的任何想法?
提前致谢
【问题讨论】:
-
mciSendString: "cchReturn:lpszReturnString 参数指定的返回缓冲区的大小,以字符为单位。"
-
你告诉 Windows 你想要一个 0 字符的回复,它完全按照你的要求做了。 :)
-
(LPCSTR)演员表看起来非常错误。使用宽字符(wchar_t/swprintf_s()或mciSendStringA()。 -
多么愚蠢的错误!谢谢你们。