![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#16
|
|||
|
|||
|
Цитата:
За основу: http://www.delphisources.ru/pages/so...generator.html Мой вариант: Код:
mass := [1000, -1000, 2000];
for i := 0 to Length(mass)-1 do begin
if mass[i] > 0 then begin
ServiceThread := TServiceThread.Create(False);
sleep(mass[i]);
ServiceThread.Terminate;
end;
if mass[i] < 0 then sleep(mass[i]);
end;но использовать sleep нельзя! |
|
#17
|
||||
|
||||
|
тебе нужно модифицировать процедуру Generator, последовательно генерируя синусоиду и тишину. при этом увеличить буферы для общего сигнала.
|
|
#18
|
|||
|
|||
|
В процедуре Generator:
Код:
j: integer; const mass: array [0..2] of integer = (1000, -1000, 2000); Код:
for j := 0 to Length(mass)-1 do begin
if mass[j] > 0 then begin
OmegaC := 2*PI*Freq;
for I := 0 to Size div 2 do begin
t := I/44100 + tPred;
PSmallInt(buf)^ := Round(Lev*sin(OmegaC*t));// ВОЗНИКАЕТ ОШИБКА
Inc(PSmallInt(buf));
end;
tPred := t;
end;
if mass[j] < 0 then begin
for I := 0 to Size-2 do begin
PSmallInt(buf)^ := 0;
Inc(PSmallInt(buf));
end;
tPred := 0;
end;
if j = Length(mass)-1 then ServiceThread.Terminate;
end;Возникает ошибка И как делать "задержки", которые в массиве? Последний раз редактировалось lkz_07, 24.12.2013 в 19:35. |
|
#19
|
|||
|
|||
|
Что в этой строчке не так???? вдоль поперек уже исходил:
Код:
PSmallInt(buf)^ := Round(Lev*sin(OmegaC*t));// ВОЗНИКАЕТ ОШИБКА |
|
#20
|
||||
|
||||
|
Цитата:
|
|
#21
|
|||
|
|||
|
Цитата:
Его создавать не нужно, он ссылается на переменную из процедуры: Код:
procedure Generator(buf : PChar; Typ, Freq, Lev, Size : LongInt; var tPred : Double); |
|
#22
|
||||
|
||||
|
Цитата:
Перед вызовом процедуры Generator создаётся буфер? p.s. И какая вообще ошибка появляется в той строке? |
|
#23
|
|||
|
|||
|
Цитата:
Естественно создается. Из выше примера - я изменить - добавил только свой массив... Вложение 4162 |
|
#24
|
|||
|
|||
|
Видимо мне никто не поможет...
![]() |
|
#25
|
|||
|
|||
|
может ещё актуально - подобный генератор рабочий где-то скачал, но только если нет полностью всего блока - трудно что-либо сказать
|