Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Мультимедиа
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 27.01.2013, 18:25
dima564 dima564 вне форума
Прохожий
 
Регистрация: 27.01.2013
Сообщения: 2
Репутация: 10
По умолчанию DirectSound

необходимо сгенерировать синусоиду в два канала и воспроизвести с эффектом перетекания из одной колонки в другую.
http://www.delphisources.ru/pages/so...generator.html
как я понял если указать nChannels:=2;
то при выводе надо смиксовать два буфера в один первичный, верно ли это?
какие методы для миксования использовать (без asm вставок)?
Код:
wh : array [0..1] of TWAVEHDR;
если соединить каналы миксом зачем потом заголовки менять @wh[0],@wh[1] и почему если сразу написать waveOutWrite для каждого wh то воспроизведение будет последовательным
Код:
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  
Старый 27.01.2013, 18:41
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Миксование нужно для стереосигнала, там последовательно Л/П/Л каналы идут.
Два буфера - чтоб небыло заждержек.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение:
dima564 (04.02.2013)
  #3  
Старый 28.01.2013, 17:26
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

В DirectSound можно двигать звук между правым и левым каналами:
Код HTML:
http://msdn.microsoft.com/en-us/library/microsoft.directx_sdk.idirectsoundbuffer8.idirectsoundbuffer8.setpan%28v=vs.85%29.aspx
Ответить с цитированием
Этот пользователь сказал Спасибо AlexSku за это полезное сообщение:
dima564 (04.02.2013)
  #4  
Старый 04.02.2013, 15:07
dima564 dima564 вне форума
Прохожий
 
Регистрация: 27.01.2013
Сообщения: 2
Репутация: 10
По умолчанию

AlexSku- спасибо, я раньше не в том направлении шел

Последний раз редактировалось dima564, 04.02.2013 в 16:43.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:47.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter