![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
sheka |
![]()
Сообщение
#1
|
![]() Я. ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
Как изменить громкость звука?
т.е. чтобы эффект был такой же как и при изменении звука там, возле часов, где динамик нарисован. Сообщение отредактировано: sheka - 18.12.2009 19:33 |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Это имел в виду: http://www.delphisources.ru/pages/faq/base...ound_value.html ?
|
sheka |
![]()
Сообщение
#3
|
![]() Я. ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
а как оно работает? что оно делает? поместил ЛистБокс, кнопку - ничего.
просто еще находил другие, что-то типа такого uses MMSystem;
procedure SetWaveVolume(const AVolume: DWord);
var Woc : TWaveOutCaps;
begin
if WaveOutGetDevCaps(WAVE_MAPPER, @Woc, sizeof(Woc)) =
MMSYSERR_NOERROR then begin
if Woc.dwSupport and WAVECAPS_VOLUME = WAVECAPS_VOLUME then
WaveOutSetVolume(WAVE_MAPPER, AVolume);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var LeftVolume: Word;
RightVolume: Word;
begin
LeftVolume := StrToInt(Edit1.Text);
RightVolume := StrToInt(Edit2.Text);
SetWaveVolume(MakeLong(LeftVolume, RightVolume));
но эффекта 0. |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Вот это только что у меня отработало:
procedure TForm1.myTrackBarChange(Sender: TObject);
var
vol: Integer;
volume: longword;
begin
vol := myTrackBar.Position; // Изначально задал Position = 32000, myTrackBar.Max = 65535, Min = 0
volume := vol;
volume := volume + (volume shl 16); // Чем левее - тем тише звук
waveOutSetVolume(WAVE_MAPPER, volume);
end;
Это позволит тебе регулировать громкость звука из своего приложения. Код - с "Королевства Дельфи". |
sheka |
![]()
Сообщение
#5
|
![]() Я. ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
Спасибо! я этот код уже встречал, просто не думал, что регулировка звука проигрываемого именно из приложения. а как быть если хочется изменить звук всей системы?
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Стой, стой... Я не сказал, что это регулировка звука, проигрываемого из твоего приложения. Я сказал, что регулировать громкость звука ты можешь из своего приложения. Я запустил WinAMP, и изменял из своей программы громкость, нормально изменяется.
|
sheka |
![]()
Сообщение
#7
|
![]() Я. ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
У меня Win7. Может поэтому?
|
sheka |
![]()
Сообщение
#8
|
![]() Я. ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
100пудово поэтому)
|
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Да, на Висте тоже были замечены проблемы с waveOutSetVolume:
Social.MSDN -> waveOutSetVolume in windows vista В качестве варианта для изменения громкости, работающего на Висте, приводится вот это: Блог Larry Osterman -> How do I change the master volume in Windows Vista (правда, на С, но WinAPI - разобраться несложно). Возможно, будет работать и на "семерке" |
![]() ![]() |
![]() |
Текстовая версия | 26.07.2025 4:47 |