小弟想让MFC写的程序发出声音,但不知道如何实现,还望达人们给些建议。跪谢了!!!

解决方案 »

  1.   

    MessageBeep
    PlaySound
    mciSendCommand
    waveOut***自己挑吧
      

  2.   

    同意一楼,稍复杂的还有DirectSound etc.
      

  3.   

    //播放WAV声音文件
    #include "Mmsystem.h"
    #pragma comment(lib,"Winmm.lib")
    CString str1="c:\\a.wav"; //注意用双\
    BOOL result=sndPlaySound(str1,SND_ASYNC);  参数说明
    SND_ASYNC          异步播放声音,开始播放就立即返回,如果要终止,令lpszSoundName(即第一个参数)为NULL调用
                       sndPlaySound()
    SND_LOOP           反复播放,直到lpszSoundName为NULL。为循环播放还必须指定SND_ASYNC标志位
    SND_MEMORY         lpszSoundName参数的指定,在内存中WAV声音文件的映像
    SND_NODEFAULT      如果声音文件未找到,不播放默认的声音并返回
    SND_NOSTOP         如果正在播放声音,函数不播放指定的声音并立即返回FALSE
    SND_SYNC           异步播放声音,直到播放完成函数才返回
    注:WAV文件最大约为100K
      

  4.   

    //启动时播放音乐
    在MainFrm.cpp文件的开始部分加入下列语句:
    #include "mmsystem.h"//多媒体
    #pragma comment(lib,"winmm.lib")//多媒体
    在CMainFrame::OnCreate()函数中加入下列语句即可:
    int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
    {
        ......
        BOOL r = sndPlaySound("start.wav",SND_ASYNC|SND_NODEFAULT);//播放WAV文件
        ASSERT(r);
        Sleep(4500);
        r = sndPlaySound("",SND_ASYNC|SND_NODEFAULT);//停止播放
        return 0;
    }
      

  5.   

    Beep可以控制喇叭发声,不过声音比较简单