|
#1
|
|||
|
|||
DirectSound
необходимо сгенерировать синусоиду в два канала и воспроизвести с эффектом перетекания из одной колонки в другую.
http://www.delphisources.ru/pages/so...generator.html как я понял если указать nChannels:=2; то при выводе надо смиксовать два буфера в один первичный, верно ли это? какие методы для миксования использовать (без asm вставок)? Код:
wh : array [0..1] of TWAVEHDR; Код:
waveOutWrite(hwo, @wh[i], sizeof(WAVEHDR)); почему для первичного буфера используют виртуальную память процессора? как создать эффект перетикания если: S(t)=Amp*sin(omega*t+Fi); omega=2*pi*hz; t=i/fd; чему должно равнятся fi? если можно кодом показать и объяснить как это работает и почему именно так. прочел много статей, ссылки на материалы нежелательны Последний раз редактировалось dima564, 27.01.2013 в 18:39. |
#2
|
||||
|
||||
Миксование нужно для стереосигнала, там последовательно Л/П/Л каналы идут.
Два буфера - чтоб небыло заждержек. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение: | ||
dima564 (04.02.2013)
|
#3
|
|||
|
|||
В DirectSound можно двигать звук между правым и левым каналами:
Код HTML:
|
Этот пользователь сказал Спасибо AlexSku за это полезное сообщение: | ||
dima564 (04.02.2013)
|
#4
|
|||
|
|||
AlexSku- спасибо, я раньше не в том направлении шел
Последний раз редактировалось dima564, 04.02.2013 в 16:43. |