Главная страница
    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.46 MB
Время: 0.045 c
15-1187675559
tipman
2007-08-21 09:52
2007.09.16
Delphi .NET в какой версии достойный?


1-1183888184
hgd
2007-07-08 13:49
2007.09.16
Сохранить как картинку


9-1159903864
kurt
2006-10-03 23:31
2007.09.16
как делать меню к игре


11-1170007808
fender
2007-01-28 21:10
2007.09.16
SpriteUtils2 2.08b


15-1187700376
сейчас_злой
2007-08-21 16:46
2007.09.16
Ищу работу... есть опыт програмирования на Delphy





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский