![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ещё вопросик по BASS.DLL [D6, WinXP]
Axer © (2004-11-22 16:36:00)Здравствуйте, Мастера. С помощью каких функций можно получить данные с микрофона? Примеры и файл BASS.CHM не помогли. Подскажите, пожалуйста. Спасибо.
Axer (2004-11-23 10:13:00) [1]Ой, спасибо мастер Progamania. Теперь мне всё ясно.
programania (2004-11-22 20:30:00) [2]
PROCEDURE iniBASSmicro;
var
dName: PChar; i,n,dl,r:integer;
begin
BASS_Init(-1, 44100, 0, form1.handle);
BASS_RecordInit(-1);
i:=0; n:=-1;
dName:=BASS_RecordGetInputName(i);
while dName<>nil do begin
s:=copy(ansiLowerCase(StrPas(dName)),1,5);
if (s='micro')or(s='микро') then n:=i;
inc(i);
dName:=BASS_RecordGetInputName(i);
end;
i:=0; while BASS_RecordSetInput(i, BASS_INPUT_OFF) do inc(i);
BASS_RecordSetInput(n, BASS_INPUT_ON);
if not BASS_RecordStart(11000, 0, @RecordCallback, 0) then showMessage('Не нашла микрофона') ;
end;
type tb=array[0..$FFFF] of smallInt; var utb=^tb;
function RecordCallback(Buffer: utb; Length, User: DWord): Bool; stdcall;
var
i,z: integer;
begin
for i := 0 to length div 2 - 1 do begin
if odd(i) then begin
z:=buffer^[i];
//тут обработка одного канала
end;
end;
end;