Vincent_Xupt
ZeroTrust
2017-06-24 18:44
采纳率: 75%
浏览 2.5k
已采纳

C 语言调用WindowsAPI 的MCISendString()函数播放音乐

该函数play 后面一定要是直接路径吗??? 不可以使用保存路径的字符串来播放吗???
我现在的问题是 根据不同的人的身份播放不同的音乐 但是路径中的play后面的路径的某一部分 必须是输入之后组成新路径.

看看下面的图片,求大佬解释.
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • fight_in_dl
    战在春秋 2017-06-25 02:16
    已采纳

    对于"open filename alias music",mciSendString函数并不会对其中的filename有特殊的解释
    只是把它当作一个字符串传给函数,作为第一个参数的值。

    显然不能达到希望的效果。

    可以这样:

      char filepath[100] = "d:\\test.wav";
    
        char s[200];
        strcpy(s, "open "); //注意空格
        strcat(s, filepath);
        strcat(s, " alias music");  //注意空格 
        //以上几行拼接字符串,得到真正的string,传入mciSendString函数。
        printf("%d\n",mciSendString(s,NULL,0,NULL));
    

    调试时,可以查看mciSendString函数的第一个参数到底是什么,和正确用法对比,就可以知道问题出在哪儿。

    用心回答每个问题,如果对您有帮助,请采纳答案好吗,谢谢!

    点赞 评论

相关推荐