Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.08.2013, 03:22   #1
Xaker_Two
Пользователь
 
Регистрация: 03.02.2013
Сообщений: 73
Вопрос Звук в Delphi

Всем привет! я решил сделать для своей игрушки простенький "звуковой" движок. Он будет работать с wav-ками, и основной проблемой для меня было воспроизведение сразу множества звуков но решить не составило труда. пока из всего моего творения получается плеер и я решил сделать регулировку громкости. Сделал и заметил что контроль звука выходит за пределы проги! Можно ли как-то от этого избавится или так и должно быть?? вот код(тут правда для понта припаял регулировщика звука для каждого уха отдельно и так сказать зеркальное отражение их статусов друг от друга)
Код:
uses MMSystem;
...
procedure TForm1.Timer1Timer(Sender: TObject);
var
Rvol,Lvol:DWORD;
begin
Rvol:=TrackBar1.Position*655;
Lvol:=TrackBar1.Position*655;
if TrackBar2.Position>100 then Rvol:=Rvol div 100 *(100-(TrackBar2.Position-100));
if TrackBar2.Position<100 then Lvol:=Lvol div 100 *(100-(100-TrackBar2.Position));
WaveOutSetVolume(WAVE_MAPPER,MakeLong(Lvol,Rvol));
Label4.Caption:=inttostr(TrackBar1.Position)+'%';
if TrackBar2.Position<100 then Label3.Caption:='L='+inttostr(100-(100-TrackBar2.Position))+'%00I=Я';
if TrackBar2.Position>100 then Label3.Caption:='L=I00%'+inttostr((100-(TrackBar2.Position-100))mod 10)+inttostr((100-(TrackBar2.Position-100))div 10)+'=Я';
if TrackBar2.Position=100 then Label3.Caption:='L=I00%00I=Я';
end;
Xaker_Two вне форума Ответить с цитированием
Старый 06.08.2013, 09:26   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,372
По умолчанию

Цитата:
Сообщение от Xaker_Two Посмотреть сообщение
контроль звука выходит за пределы проги!
Что это значит?
Кроме того, уровень каждого канала находится в пределах от 0 до 65535.

Последний раз редактировалось waleri; 06.08.2013 в 09:29.
waleri вне форума Ответить с цитированием
Старый 06.08.2013, 09:32   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Цитата:
контроль звука выходит за пределы проги!
Что это значит?
я думаю, что автор имел в виду, что изменив громкость в своей программе, она оказывается изменённой во всех остальных приложениях ОС...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.08.2013, 12:36   #4
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

тема в которой меняется звук только в приложении (для Windows 7)...
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 07.08.2013, 01:23   #5
Xaker_Two
Пользователь
 
Регистрация: 03.02.2013
Сообщений: 73
Радость

Цитата:
Сообщение от waleri Посмотреть сообщение
Кроме того, уровень каждого канала находится в пределах от 0 до 65535.
Посмотрите формулу чуточку повнимательнее! там помоему написано TrackBar1.Position*655т.е. максимальная громкость отстает от максимальновозможной на 35(100*655=65500)!

Что я имел ввиду: я имел ввиду как сказано ниже что звук регулируется во всей системе НО ползунок громкости звука в настройках Громкость в трее не меняет позиции притом это влияет даже на браузеры а не только на плееры!, т.е. глобально!!!
Xaker_Two вне форума Ответить с цитированием
Старый 07.08.2013, 01:54   #6
Xaker_Two
Пользователь
 
Регистрация: 03.02.2013
Сообщений: 73
По умолчанию

Я кажется понял почему только для семерки короч на хрюшке этого не сделать... по крайне мере этими способами!
Xaker_Two вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Звук в Delphi апельсинка Мультимедиа в Delphi 3 20.03.2012 14:08
Звук Звууууук Звук ... не рабоает звук.. Zvuuuuk Компьютерное железо 2 22.01.2011 17:53
Тюнер для гитары в делфи. (Считывать с микрофона звук и выводить какой частоты этот звук). Серего Мультимедиа в Delphi 8 12.01.2011 14:39
звук в delphi feras Помощь студентам 0 02.11.2010 02:07