Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2007.09.16;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "Media";
Текущий архив: 2007.09.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.039 c
2-1187766712
bss
2007-08-22 11:11
2007.09.16
TDataSet, содержащий данные не из БД, а из массива


8-1165399331
Галинка
2006-12-06 13:02
2007.09.16
Метод Refresh и событие Paint


1-1183551722
Bel
2007-07-04 16:22
2007.09.16
Запустить службу в Vista


15-1187483828
SerJaNT
2007-08-19 04:37
2007.09.16
Удалить строки


15-1185358975
Kerk
2007-07-25 14:22
2007.09.16
В Воронеже поставили памятник коню (!)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский