Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа со звуком [D5, Win95/98]


DDDeN ©   (2002-04-10 15:48:00) 

Здравствуйте! Подскажите как микшировать вавки и менять их громкость независимо от общей.


PVOzerski   (2002-04-10 16:35:00) [1]

Кое-что подсказать могу, из области "некомпрессированный wav-файл изнутри".
Вообще-то они бывают 8- и 16-битные (а еще моно и стерео, во втором случае точки, относящиеся
к 1-му и 2-му каналам, чередуются). В случае 16 бит "тело" wav-файла - последовательность
классических smallint"ов, где 0 - он 0 и есть. Тогда менять амплитуду можно, перемножая значение
каждой точки на соответствующий коэффициент и отслеживая угрозы выйти за диапазон smallint.
В случае 8 бит ситуация чуть-чуть сложнее: точка - беззнаковое(!) 8-битное целое (Дельфийский
тип byte), но нулевому уровню звука соотвествует 128. Т.обр., преобразование амплитуды будет
выглядеть так: Anew:=((longint(Aold)-128)*K)+128;


MJH   (2002-04-10 16:16:00) [2]

DirectSound - про такое слышал?


Наверх

Титульная страница Поиск, карта сайта Написать письмо