Помощь - Поиск - Пользователи - Календарь
Полная версия: Громкость звука
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
sheka
Как изменить громкость звука?
т.е. чтобы эффект был такой же как и при изменении звука там, возле часов, где динамик нарисован.
volvo
Это имел в виду: http://www.delphisources.ru/pages/faq/base...ound_value.html ?
sheka
а как оно работает? что оно делает? поместил ЛистБокс, кнопку - ничего.
просто еще находил другие, что-то типа такого
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
Вот это только что у меня отработало:
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
Спасибо! я этот код уже встречал, просто не думал, что регулировка звука проигрываемого именно из приложения. а как быть если хочется изменить звук всей системы?
volvo
Стой, стой... Я не сказал, что это регулировка звука, проигрываемого из твоего приложения. Я сказал, что регулировать громкость звука ты можешь из своего приложения. Я запустил WinAMP, и изменял из своей программы громкость, нормально изменяется.
sheka
У меня Win7. Может поэтому?
sheka
100пудово поэтому)
volvo
Да, на Висте тоже были замечены проблемы с waveOutSetVolume:
Social.MSDN -> waveOutSetVolume in windows vista

В качестве варианта для изменения громкости, работающего на Висте, приводится вот это: Блог Larry Osterman -> How do I change the master volume in Windows Vista (правда, на С, но WinAPI - разобраться несложно). Возможно, будет работать и на "семерке"
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.