lazarus-ccr/components/acs/Demos/linerecord/umain.pas
christian_u c9d65fa82e fix linerecord example
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2822 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2013-11-01 23:33:58 +00:00

83 lines
1.6 KiB
ObjectPascal

unit umain;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Buttons,
StdCtrls, acs_file, acs_audio, EditBtn,acs_classes,acs_mixer;
type
{ TfMain }
TfMain = class(TForm)
bOpen: TBitBtn;
Mixer1: TACSMixer;
AudioIn1: TACSAudioIn;
FileOut1: TACSFileOut;
bRecord: TBitBtn;
bStop: TBitBtn;
cbRecordSource: TComboBox;
Label1: TLabel;
procedure FormCreate(Sender: TObject);
procedure bOpenClick(Sender: TObject);
procedure bRecordClick(Sender: TObject);
procedure bStopClick(Sender: TObject);
procedure cbRecordSourceChange(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
fMain: TfMain;
implementation
{ TfMain }
procedure TfMain.FormCreate(Sender: TObject);
var
i : Integer;
begin
for i := 0 to Mixer1.Channelcount-1 do
if Mixer1.IsRecordable(i) then
cbRecordSource.Items.Add(Mixer1.ChannelName[i]);
cbRecordSource.Text := Mixer1.ChannelName[Mixer1.RecordSource];
end;
procedure TfMain.bOpenClick(Sender: TObject);
begin
FileOut1.Open;
if FileExists(FileOut1.FileName) then
FileOut1.FileMode := foAppend;
end;
procedure TfMain.bRecordClick(Sender: TObject);
begin
FileOut1.Run;
end;
procedure TfMain.bStopClick(Sender: TObject);
begin
FileOut1.Stop;
end;
procedure TfMain.cbRecordSourceChange(Sender: TObject);
var
i : Integer;
begin
for i := 0 to Mixer1.Channelcount-1 do
if Mixer1.ChannelName[i] = cbRecordSource.Text then
Mixer1.RecordSource := i;
end;
initialization
{$I umain.lrs}
end.