在delphi里面有啥好办法?有扬声器和声卡。非得录音吗?而且那种声音很难找到可以录的。多谢诸位大侠出手!

解决方案 »

  1.   

    windows.beep(dwFreq:integer;dwDuration:integer);dwFreq: 声音频率;
    dwDuration;持续时间.-------------------------------------------------messagebeep()-------------------------------------------------procedure pcSound(dFreq:Double;wLong:Word);//第一个为频率,第二个为持续时间
    var
      wFreq:word;
    begin
      wFreq := round(1192576/dFreq);
      asm                                 //读写60,61端口发声
        push ax
        push bx
        push cx
        push dx
        push di
        mov  al,0B6H
        out  43H,al
        mov  dx,12H
        mov  ax,wFreq
        out  42H,al
        mov  al,ah
        out  42H,al
        in   al,61H
        mov  ah,al
        or   al,3
        out  61H,al
    @wait1:
        mov  cx,wLong
    @delay:
        dec  cx
        jnz  @delay
        dec  bx
        jnz  @wait1
        mov  al,0B6H
        out  43H,al
        mov  al,ah
        out  61H,al
        pop  di
        pop  dx
        pop  cx
        pop  bx
        pop  ax
      end;
    end;
    {---------------------------
      261.7   c
      293.7   d 
      329.6   e
      349.2   f
      392.0   g
      440.0   a
      493.9   b
    ---------------------------}