一、问题描述
自己做了一个播放器,原理是利用MCI命令来操作mp3文件。问题是有的mp3文件可以播放,有的却不能播放,通过调试跟踪发现open文件的时候,没有成功。觉得很奇怪,为什么有的可以成功,有的却不能成功。
二、原因分析
后来网上搜了一下,发现别人也有同样的问题。最后再微软的技术支持上发现了原因,因为文件名含有空格!官方的说法是,文件名过长或者含有空格,都无法正确的打开文件。
三、解决方案
对文件名添加双引号。例如:
uint mcierror = mciSendString(@"open " + "\"" + filename + "\"" + " alias temp_music", " ", 0, 0);
参考:
http://support.microsoft.com/kb/191089