MMDsWvIn.pas
上传用户:hylc_2004
上传日期:2014-01-23
资源大小:46800k
文件大小:4k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. {========================================================================}
  2. {=                (c) 1995-98 SwiftSoft Ronald Dittrich                 =}
  3. {========================================================================}
  4. {=                          All Rights Reserved                         =}
  5. {========================================================================}
  6. {=  D 01099 Dresden             = Fax.: +49 (0)351-8037944              =}
  7. {=  Loewenstr.7a                = info@swiftsoft.de                     =}
  8. {========================================================================}
  9. {=  Actual versions on http://www.swiftsoft.de/mmtools.html             =}
  10. {========================================================================}
  11. {=  This code is for reference purposes only and may not be copied or   =}
  12. {=  distributed in any format electronic or otherwise except one copy   =}
  13. {=  for backup purposes.                                                =}
  14. {=                                                                      =}
  15. {=  No Delphi Component Kit or Component individually or in a collection=}
  16. {=  subclassed or otherwise from the code in this unit, or associated   =}
  17. {=  .pas, .dfm, .dcu, .asm or .obj files may be sold or distributed     =}
  18. {=  without express permission from SwiftSoft.                          =}
  19. {=                                                                      =}
  20. {=  For more licence informations please refer to the associated        =}
  21. {=  HelpFile.                                                           =}
  22. {========================================================================}
  23. {=  $Date: 02.08.98 - 18:07:36 $                                        =}
  24. {========================================================================}
  25. unit MMDsWvIn;
  26. {$I COMPILER.INC}
  27. interface
  28. uses
  29.   Windows,
  30.   SysUtils,
  31.   Messages,
  32.   Classes,
  33.   Graphics,
  34.   Controls,
  35.   Forms,
  36.   Dialogs,
  37.   MMSystem,
  38.   MMUtils,
  39.   MMObj,
  40.   MMString,
  41.   MMDSPObj,
  42.   MMDSPMtr,
  43.   MMRegs,
  44.   MMPCMSup,
  45.   MMWaveIO,
  46.   MMDSound,
  47.   MMDsCapt,
  48.   MMWavIn;
  49. type
  50.    {---------------------------------------------------------------------------}
  51.    TMMDSWaveIn = class(TMMCustomWaveIn)
  52.    protected
  53.     procedure SetupWaveEngine; override;
  54.    end;
  55. function DSWaveInGetDeviceName(DeviceID: TMMDeviceID): String;
  56. implementation
  57. uses MMDSystm;
  58. {------------------------------------------------------------------------------}
  59. function DSWaveInGetDeviceName(DeviceID: TMMDeviceID): String;
  60. var
  61.   Caps: TWaveInCaps;
  62. begin
  63.   Result := '';
  64.   if (DeviceID < DSWaveInGetNumDevs) and (DeviceID >= integer(WAVE_MAPPER)) then
  65.   begin
  66.      { Set the name and other WAVEINCAPS properties to match the ID }
  67.     if DSWaveInGetDevCaps(DeviceID, @Caps, sizeof(TWaveInCaps)) = 0 then
  68.       Result := StrPas(Caps.szPname);
  69.   end;
  70. end;
  71. {== TMMDSWaveIn ===============================================================}
  72. procedure TMMDSWaveIn.SetupWaveEngine;
  73. begin
  74.   @waveInGetNumDevs       := @DSWaveInGetNumDevs;
  75.   @waveInGetDevCaps       := @DSWaveInGetDevCaps;
  76.   @waveInGetErrorText     := @DSWaveInGetErrorText;
  77.   @waveInOpen             := @DSWaveInOpen;
  78.   @waveInClose            := @DSWaveInClose;
  79.   @waveInPrepareHeader    := @DSWaveInPrepareHeader;
  80.   @waveInUnprepareHeader  := @DSWaveInUnprepareHeader;
  81.   @waveInAddBuffer        := @DSWaveInAddBuffer;
  82.   @waveInStart            := @DSWaveInStart;
  83.   @waveInStop             := @DSWaveInStop;
  84.   @waveInReset            := @DSWaveInReset;
  85.   @waveInGetPosition      := @DSWaveInGetPosition;
  86.   @waveInGetID            := @DSWaveInGetID;
  87. end;
  88. end.