网上查了许久,也试验许久,但还是没解决,请各位大神帮帮吗,再此先谢了
具体情况如下:
1、PlaySound(TEXT("C:\\windows\\Media\\Windows 关机.wav"),NULL,SND_FILENAME | SND_SYNC);只听见“咚”的一声就没了,循环十次也就“咚”十次。2、使用BOOL Sound = PlaySound(MAKEINTRESOURCE(IDR_WAVE1),AfxGetResourceHandle(),SND_ASYNC|SND_RESOURCE);就一点声音也没有。(其中IDR_WAVE1是声音文件的ID)3、#include "mmsystem.h"
    #pragma comment(lib, "winmm.lib")
加在对文档的View文件中,即CDrawYunView类成员函数中。(CDrawYunView:CScrollView)4、试验中PlaySound()的返回值都为TRUE。5、VS2010,多文档工程
疑问点:
1、各位知道问题出现在吗?
2、在多文档中能使用PlaySound(),使用时有注意点吗?
3、我的添加资源步骤是否正确:资源栏右击->Add Resource->点击Import->选择.wav声音文件->点击“打开”
4、还有其他函数或方法播放声音文件?

解决方案 »

  1.   


     加在多文档的View文件中即DrawYunView.cpp中,其中PalySound()在CDrawYunView类成员函数中。(CDrawYunView:CScrollView)
      

  2.   

    这个 
    “Windows 关机.wav”  
    中间有空格吗? 换个没空格的文件名试下
      

  3.   

    可以PlaySound(TEXT("C:\\windows\\Media\\Windows 关机.wav"),NULL,SND_FILENAME | | SND_ASYNC);
    是不是文件名有空格中文之类的问题或者是文件的音频编码系统解析不鸟,用个系统自带的看看
      

  4.   

    空格是有影响,换了个每空格的系统声音文件就好了。现在又发现一个问题,除了放C盘的声音文件可行外,放别的盘就不行了(无论是绝对路径还是导入资源),难道PlaySound()只能使用C盘的声音文件。
     如PlaySound(_T("E:\\HGDrawYun\\DrawYun\\Sound\\soe00023h.02.wav"),NULL,SND_FILENAME | SND_ASYNC);就不行
      

  5.   

    soe00023h.02.wav可能太多后缀解析不鸟了
      

  6.   

    Ok,解决了
    总结下:
    1、声音文件的名字有空格,所以PalySound()不鸟了。
    2、.wav文件可能是其它类型直接改名改过来的,我就是这种情况,我在同一文件夹中有soe00023h.02.wav(可能改名的)和ev01.wav(正常能用)两个文件,我需要用soe00023h.02.wav,一直试验都没用,而使用ev01.wav有用,最后使用格式转化文件把soe00023h.02.wav进行格式转化(酷狗软件),就OK了。
     最后发现是被soe00023h.02.wav给坑了。
    结贴,谢谢各位
      

  7.   

    这个"E:\\HGDrawYun\\DrawYun\\Sound\\soe00023h.02.wav" 不算长,是不是音乐文件有问题