本帖最后由 kufor 于 2010-12-23 07:19:23 编辑

解决方案 »

  1.   

    PlaySound函数可以把声源文件做成资源文件编译到程序里
      

  2.   

    另外还有bass.dll,可以上网下来使用
      

  3.   

    把声音文件做成资源,用PlaySound以流的方式播放音乐资源
      

  4.   

    方法如下:首先需要在uses部分加入mmsystem,接着写入下列语句,其中e:\1.mid为播放的文件,NN为自定义名称标志procedure TForm1.Button1Click(Sender: Tobject);
    begin
      //播放音乐
      MCISendString('OPEN e:\1.MID TYPE SEQUENCER ALIAS NN', '', 0, 0);
      MCISendString('PLAY NN FROM 0', '', 0, 0);
      MCISendString('CLOSE ANIMATION', '', 0, 0);
    end;procedure TForm1.Button2Click(Sender: Tobject);
    begin
      //停止播放  
      MCISendString('OPEN e:\1.MID TYPE SEQUENCER ALIAS NN', '', 0, 0);
      MCISendString('STOP NN', '', 0, 0);
      MCISendString('CLOSE ANIMATION', '', 0, 0);
    end;
      

  5.   

    //加载资源
    HRSRC hResour=FindResource(hInstance,pszSoundName,TEXT("WAVE"));
    if (hResour==NULL) return false;
    HGLOBAL hGlobal=LoadResource(hInstance,hResour);
    if (hGlobal==NULL) return false;//播放声音
    LPCTSTR pszMemory=(LPCTSTR)LockResource(hGlobal);
    ::PlaySound(pszMemory,hInstance,SND_ASYNC|SND_MEMORY);//清理资源
    UnlockResource(hGlobal);
    FreeResource(hGlobal);