unit AVSetFrm; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Buttons, Videocap, MMObj, MMSlider, MMMixCtl, MMDIBCv, MMLevel,DSUtil,DirectShow9, MMDevice, MMMixer, MMHook, MMDesign, MMDSPObj, MMWavOut, MMWave, MMConect, MMWavIn, MMRingBf,MMSystem, XMLDoc, XMLIntf, RealICQMultiLanguage, IniFiles; type TAVSetForm = class(TForm) Image1: TImage; Bevel1: TBevel; BTPrev: TBitBtn; BTNext: TBitBtn; BTCancel: TBitBtn; Notebook1: TNotebook; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; CBCamera: TComboBox; Label8: TLabel; Panel1: TPanel; VideoCap: TVideoCap; Label9: TLabel; Label10: TLabel; Label11: TLabel; Label12: TLabel; Label13: TLabel; Label14: TLabel; Label15: TLabel; CBMic: TComboBox; CBSpeaker: TComboBox; Label16: TLabel; Label17: TLabel; BTTestSpeaker: TButton; GroupBox1: TGroupBox; MMMixerSlider2: TMMMixerSlider; Label18: TLabel; Label19: TLabel; GroupBox2: TGroupBox; MMMixerSlider1: TMMMixerSlider; Label20: TLabel; Label21: TLabel; Label22: TLabel; MMWaveIn: TMMWaveIn; MMWaveOut: TMMWaveOut; MMVolumeControl1: TMMVolumeControl; MMVolumeControl2: TMMVolumeControl; MMConnector1: TMMConnector; MMRingBuffer1: TMMRingBuffer; MMDesigner1: TMMDesigner; MMAudioLine1: TMMAudioLine; MMAudioLine2: TMMAudioLine; MMAudioLine3: TMMAudioLine; MMDevice: TMMMixerDevice; MMWaveFile: TMMWaveFile; MMWaveOut1: TMMWaveOut; procedure BTNextClick(Sender: TObject); procedure BTPrevClick(Sender: TObject); procedure BTCancelClick(Sender: TObject); procedure BTTestSpeakerClick(Sender: TObject); procedure MMWaveOutStart(Sender: TObject); procedure MMWaveOutStop(Sender: TObject); procedure MMWaveInBufferReady(Sender: TObject; lpWaveHdr: PWaveHdr); procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private FRealICQMultiLanguage: TRealICQMultiLanguage; procedure CheckBTState; procedure SaveAVSets; public { Public declarations } end; var AVSetForm: TAVSetForm; FInInfo: TBitmapInfo; HintStr, NoVideoDevice, NoAudioDevice, NextStr, OKStr, StopStr, TestSpeaker: String; implementation {$R *.dfm} {------------------------------------------------------------------------------} procedure FillBitmapStruc; begin FillChar(FInInfo.bmiHeader, SizeOf(TBitmapInfoHeader), 0); with FInInfo.bmiHeader do begin biBitCount := 24; biCompression := BI_RGB; biHeight := 240; biPlanes := 1; biSize := SizeOf(TBitmapInfoHeader); biWidth := 320; end; end; procedure TAVSetForm.CheckBTState; var SysDev: TSysDevEnum; iLoop:Integer; begin BTPrev.Enabled:=NoteBook1.PageIndex>0; BTNext.Enabled:=NoteBook1.PageIndex