Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.16;
Скачать: CL | DM;

Вниз

IBasicAudio, put_Volume - реальная граница?   Найти похожие ветки 

 
DevilDevil ©   (2006-12-01 00:05) [0]

В справке говорится, что нижняя граница = -10000, в путной книжке по программированию музыки (про DirectMusic, правда), говорится -9600. Однако уже при -5000 музыки не слышно. А на самом деле?


 
Дмитрий Белькевич ©   (2006-12-01 05:43) [1]

А кто ж правду знает? Проверь на тройке-пятерке машин/звуковух, сам узнаешь...
Есть предположение, что от производителя сильно зависит.


 
DevilDevil ©   (2006-12-01 10:44) [2]

Ну я вообще надеялся, что из мастеров сталкивался кто-либо с такой проблемой...


 
NailMan ©   (2006-12-03 13:37) [3]

Справка не врет, а книжку лохи писали, которые справку не читали. А чтобы плавно повышать звук сделай значения по кривой(достаточно будет 15-20 точек) от -10000 до 0. Я у себя в плеере(новой версии) даже решил сделать эту кривую настраиваемой. Выглядит как эквалайзер. Соотвественно когда пользователь изменяет громкость(движок максимум на 20 положений), то пихается нужное число громкости.

На самом деле у мелкого сделана громкость не с линейным законом, а с экспонентой, так что что -9000 что -5000 - одинаково оччень тихо. Почему так - х.з. Потому то я и сделал настраиваему кривую громкости, чтобы на слух приблизить шкалу громкости к линейной зависимости.


 
DevilDevil ©   (2006-12-04 11:54) [4]

> а книжку лохи писали

Ну если Вы автора кучи статей на gamedev.net (Мейсон МакКаски) и редактора этой книги Андре Ламота лохами считаете...

А как преобразовать экспонентный закон в линейный, знает кто-нибудь?


 
XProger ©   (2006-12-05 01:52) [5]

procedure TOGG.SetVolume(Value: Integer);
var
 db : Integer;
begin
 if not Ready then Exit;
 if Value > 100 then Value := 100;
 if Value < 0   then Value := 0;
 if Value = 0 then
   db := DSBVOLUME_MIN
 else
   db := Trunc(33.22 * 100 * ln(Value/100)/ln(10));
 Buffer.SetVolume(db);
end;

Переводим проценты (0-100) в децибелы )


 
DevilDevil ©   (2006-12-05 12:41) [6]

> XProger ©   (05.12.06 01:52) [5]

Thanks, а в OGG какой диапазон?


 
XProger ©   (2006-12-05 18:12) [7]

DevilDevil, причёт тут OGG? Это стандартный диапозон DirectSound"а )


 
DevilDevil ©   (2006-12-05 23:21) [8]

> XProger ©   (05.12.06 18:12) [7]

1) Thanks
2) Эх, Прогер, Прогер... вот у тебя в движке и 3D звук и поддержка OGG уже появилась... а вот трекерной музыки и нормальной многопоточной, с регулеровкой громкости, mp3-wma-mid-... музыки до сих пор нет...


 
XProger ©   (2006-12-08 22:24) [9]

DevilDevil, ogg многопоточен и громкость регулируется. mp3 mid wma в качестве музыки в своих проектах использовать не собираюсь.



Страницы: 1 вся ветка

Текущий архив: 2007.09.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
11-1170684834
Derk
2007-02-05 17:13
2007.09.16
Скрытие элементов toolbar a


15-1185911180
Riply
2007-07-31 23:46
2007.09.16
Первый шаг к намеченной цели :)


15-1187692560
ПЛОВ
2007-08-21 14:36
2007.09.16
Видеохостинг


2-1188118767
ins
2007-08-26 12:59
2007.09.16
HexToInt


15-1187473702
CodeGen
2007-08-19 01:48
2007.09.16
Как лучше хранить и редактировать дерево находящееся в массиве?