用过mci做音乐播放的进。

酱油党 2013-05-03 10:17:26
在函数MICERROR iERROR = mcisendstring(command , returnString , returnLength , hwndToCallBack );

中,要打开一个设备(这里通常是一个文件名字。)如果command为:

"open c;\tag.mp3"发现能够打开设备,后面控制正常。

如果是:"open C:\Documents and Settings\Administrator\桌面\tag.mp3"时候,设备会打开失败。

iERROR为:263 对应为:MCIERR_INVALID_DEVICE_NAME

为 : 无效的设备名 , 楼主尝试改变了编码方式, 错误依旧。 整体表现似乎command不支持中文字符。

但是,mci做播放器应该是比较成熟的东西了,所以想问一下直接的解决方法。别用临时copy一份放在不带中文字符的

文件位置,使用完删除的方法糊弄人,做过的帮助解决下,先谢谢了。
...全文
109 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
酱油党 2013-05-03
  • 打赏
  • 举报
回复
引用 1 楼 turingo 的回复:
看起来不太像是中文字符的问题,应该是路径带了空格而导致实际执行的是open C:\Documents。 可以试试用双引号包含整个路径,例如: open "C:\Documents and Settings\Administrator\桌面\tag.mp3"
我测试了下,还真是这个原因,已用 "\"" + path + "\"";的方式解决。。谢谢!
图灵狗 2013-05-03
  • 打赏
  • 举报
回复
看起来不太像是中文字符的问题,应该是路径带了空格而导致实际执行的是open C:\Documents。 可以试试用双引号包含整个路径,例如: open "C:\Documents and Settings\Administrator\桌面\tag.mp3"

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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