我想在MFC写的窗口中播放声音文件,可就是播不出来,大家帮帮忙.下面是我写的一部分程序,看看有什么错误
   #include "mmstystem.h"
   void Cthe::OnMusic1() 
{
// TODO: Add your command handler code here
BOOL PlaySound(IDR_WAVE1,NULL,SND_ASYNC|SND_NODEFAULT );

    
}
其中IDR_WAVE1是资源文件中声音文件,可为什么就是不行呢?程序提示错误:
  'PlaySoundA' : cannot convert parameter 1 from 'const int' to 'const char *'
  Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
Error executing cl.exe.
帮帮忙 谢谢

解决方案 »

  1.   

    PlaySound应该传递文件名,非Resource ID
      

  2.   

    那我想播放 Resource ID 中的文件应该有什么函数呢?
      

  3.   

    看一下MSDN中关于playsound函数的帮助吧。你的函数使用不正确。第一个参数必须是声音文件所在的路径,而不是资源号。
      

  4.   

    如果需要播放资源的话,需要修改最后一个参数:必须用SND_RESOURCE,然后第一个参数必须将资源号转换为串
    playsound(MAKEINTRESOURCE(IDR_WAVE1),NULL,SND_ASYNC|SND_RESOURCE);
      

  5.   

    我把函数改为  PlaySound(MAKEINTRESOURCE(IDR_WAVE1),NULL,SND_ASYNC|SND_RESOURCE); 
    可是还是不行啊 提示错误:
      FiveChessView.obj : error LNK2001: unresolved external symbol __imp__PlaySoundA@12
    Debug/FiveChess.exe : fatal error LNK1120: 1 unresolved externals
    Error executing link.exe.
      

  6.   

    Library: Use Winmm.lib.
    要用playsound函数,必须引入winmm.lib库文件。
      

  7.   

    我用sndPlaySound函数能实现比较小的.WAV文件的播放,可是无法播放大点的文件,我想播放大点的文件该怎么办啊?
      

  8.   

    waveOut系列函数,vckbase上有例子