|
|
Регистрация | << Правила форума >> | 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
|
|||
|
|||
может ещё актуально - подобный генератор рабочий где-то скачал, но только если нет полностью всего блока - трудно что-либо сказать
|