如题!

解决方案 »

  1.   

    当然可以:
    \创建
    这里有个例子,具体过程如下(midi文件类似):
    1) 创建一个应用程序工程,保存在目录C : \ S a m p l e s \ S 1 0 _ 1 0 中,并在
    窗体中添加一个B u t t o n组件。
    2) 通常在Wi n d o w s 的M E D I A 目录中有一些WAVE 文件。下面使用的是其中的
    一个文件名为D I N G . WAV 的声音文件,将其复制到工程所在的目录
    C : \ S a m p l e s \ S 1 0 _ 1 0 中。
    3) 使用文本编辑软件,编写一个纯文本文件Wa v e . r c ,文件中的内容只有一句话:
    DING WAVE DING.WAV
    4) 保存好文件后,使用Delphi 中的B r c c 3 2 . e x e ,该文件位于目录
    X:\Program Files\Borland\ D e l p h i 5 \ B i n 中(X 为安装Delphi 5 
    的硬盘驱动器号)。使用B r c c 3 2 . e x e 对Wa v e . r c 进行编译,例如
    可以在M S - D O S 环境中使用下面的命令:
    X:\PROGRA~1\BORLAND\DELPHI5\BIN\Brcc32 C:\Samples\S10_10\Wa v e . r c
    编译后生成一个Wa v e . R E S 的资源文件。在后面将使用编译指令$ R 将资源
    文件包含到可执行文件中。
    5) 为了使用Windows API 函数P l a y S o u n d ,还需要在u s e s 语句中包含
    m m S y s t e m 单元,并添加B u t t o n 组件的O n C l i c k 事件的处理过程。
    具体代码如下:
    unit Unit1;
    . . .
    u s e s
    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    StdCtrls, mmSystem;
    t y p e
    . . .
    {$R *.DFM}
    {$R Wa v e . R E S } // 包含资源文件
    procedure TForm1.Button1Click(Sender: TO b j e c t ) ;
    b e g i n
    // 播放声音
    P l a y S o u n d ( ' D I N G ' , h I n s t a n c e , S N D _ R E S O U R C E ) ;
    e n d ;
    e n d .
    说明:
    • 编译、链接后,在运行时只需要一个可执行文件就可以发出D I N G . WAV 中的声音了。
    • 对于R E S 文件,可以使用D e l p h i 的Image Editor 来查看。前面提到的
    Wa v e . R E S 文件的查看
      

  2.   

    WAV文件我知道怎么办,关键我现在问的是MIDI啊!
      

  3.   

    MIDIFILE midi '文件名'
    此文件可保存成  *.rc
    然后通过brocc32.exe(在delphi的一个目录中)编译一下,
    编译结果产生一个 *.res的资源文件。
    然后通过program project;
            {$ '文件名'.res}
    加入你的程序中。
      

  4.   

    编译到资源简单,关键是如何播放。
    我知道可以用midiXXXX MMSystem API播放,
    不知道MPlayer支持不支持直接作为资源播放。
      

  5.   

    先把MIDI当成一个二进制文件编进资源中,在需要用的时候放出资源到文件,然后媒体控件播放就成了
      

  6.   

    cg1120:你的方法对Wav是有效的,这个我原本也知道,但是对MIDI是否有效不知道你自己试过了没有?还是自已觉得应该行,反正我试着是不行的!