C语言mciSendString()播放mp3,文件名带有空格播放不了怎么办
文件名和路径是用charFileName[256]保存写进charFileOpen[256]组成“opend:\\....aliasmusic”再MultiByteToW...
文件名和路径是用char FileName[256]保存写进char FileOpen[256]组成“open d:\\.... alias music”再MultiByteToWideChar转成WCHAR,文件名是中文的和不带空格可以播放
展开
3个回答
展开全部
// 因为要播放音乐 , 所以要导入这个库文件
#pragma comment(lib, "winmm.lib")
// 包含一下头文件吧
#include<windows.h>
// 函数①
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
PSTR szCmdLine,
int iCmdShow)
{
// 老鼠爱大米.mp3
DWORD dwret=mciSendString("open \"C:\\Users\\Administrator\\Desktop\\程序员表白程序\\白 白,我表白.wav\" alias aa",NULL,0,NULL);
if(dwret == 0){
mciSendString("play aa wait",NULL,0,NULL);
mciSendString("close aa",NULL,0,NULL);
}
else
{
MessageBox(0,
TEXT("放心,小小错误。\n\n请注意文件名。那个是我本机的表白文件\n\n你没有的话,请替换为你自己有的文件。\n\n替换后再尝试\n\n程序自行退出!!")
,TEXT("Error Message"),0x21);
}
return 0;
}
// 函数②
int main(int argc,char **argv)
{
WinMain(NULL,0,0,0);
return 0;
}
// 系统信息及环境说明
/************************************************
* 运行环境:VC6.0 以上
* 操作系统:windows(其他系统的别怪我,)
* 完成时间:2014年1月13日,周一,下午21点01分12秒
* 开始编码:2014年1月13日,周一,下午20点55分46秒
* 作者:(自己看吧)
* 硬件环境:PC(平板,手机,什么的,一边去。。)
/************************************************/
// 详解:
/************************************************
* 要注意的是:
* 1。源程序的文件格式要为 AscII,因为c编译器目前只支持 AscII。
* 2。那么,假若你的源程序的文件格式是 UTF-8的话,请转为 AscII。
* 3。其实文件名含不含空格都能播放。要注意的是加引号“”,(这是编程人员的习惯)
* 4。注意open后是 "play aa wait",要有wait。不然立马退出了。
* 5。最后收尾 close。
* 6。这一点很重要。注意要引入lib文件 winmm.lib ,在工程中引入。
* (相信你也应该知道要引入。因为既然你会用mciSendString,我个人目前还是
* 用快Bo来看电影,用手机来听音乐。不用mciSendString来视听。o(∩_∩)o
* )
* ::要注意的就这么几点了,相信你看完就会了,(还不会?我。。。)
*
/************************************************/
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询