c程序插入背景音乐(复制到他人电脑也能使用)

来源:互联网 发布:环保75标准数据 编辑:程序博客网 时间:2024/06/06 09:09

插入音乐就不多说了,用playsound函数。关键问题是playsound函数只能播放指定路径的函数,如果程序复制到他人电脑,并且他人电脑没有音乐资源,那就无法播放音乐了。

顺着这个思路,寻思着C语言有没有获取当前进程路径的方法,百度了一下还真有。_pgmptr,就是获取当前exe的关键字,当然你可以把它打印出来看看。这样你就可以把音乐资源和源代码打包在一起,先用_pgmptr读取当前exe的路径,然后再运用指针定位到音乐的路径。

下面上代码:

<span style="color:#cc0000;">//.............say something\Debug\say something.exe";  进程路径//.............say something\say something\2.wav"  音乐资源路径</span><span style="color:#33ff33;"></span><span style="color:#333333;">char path[100] = { 0 };   //定义一个数组存放路径sprintf(path, "%s", _pgmptr);    //获取当前.exe路径 并存入pathchar *padd = "g\\say something\\2.wav";  //我这里音乐放在源文件目录   所以需要退到 源文件目录   增加路径char *p = path;    //循环路径的每一个字符int sum = 0;   //记录'\'的位置while (*p != '\0'){ p++;}   //将指针移动到路径尾部for (p; sum < 2; p--)   //往回移动到倒数第二个'\'{if (*p == '\\'){sum++;}}*p = '\0';  //删除倒数第二个'\'之后的所有字符  即退回到工程目录strcat(p, padd);   //拼接路径char *p2 = path;PlaySound(p2, NULL, SND_ASYNC | SND_NODEFAULT | SND_LOOP);    //循环播放</span>


0 0