Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.19;
Скачать: CL | DM;

Вниз

регулировка звука(только не баньте тему плз)   Найти похожие ветки 

 
Змей ©   (2006-01-24 13:49) [0]

Доброго времени суток Мастера!
на конференции media мне уже 3 раза ничего не отвечали! вот мучаюсь уже с пол года! может быть ктонибудь знает? помогите чем могите:)
пользуюсь MediaPlayer"om
изменяю громкость звука в проге и в винде одновременно можно ли отдельно это делать?
Изменение громкости звуков в Windows

uses MMSystem;

function GetWaveVolume: DWord;
var Woc : TWaveOutCaps;
Volume : DWord;
begin
result:=0;
if WaveOutGetDevCaps(WAVE_MAPPER, @Woc, sizeof(Woc)) =
MMSYSERR_NOERROR then begin
if Woc.dwSupport and WAVECAPS_VOLUME = WAVECAPS_VOLUME then begin
WaveOutGetVolume(WAVE_MAPPER, @Volume);
Result := Volume;
end;
end;
end;

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.Button1Click(Sender: TObject);
begin
Beep;
end;

procedure TForm1.Button2Click(Sender: TObject);
var LeftVolume: Word;
RightVolume: Word;
begin
LeftVolume := StrToInt(Edit1.Text);
RightVolume := StrToInt(Edit2.Text);
SetWaveVolume(MakeLong(LeftVolume, RightVolume));
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Caption := IntToStr(GetWaveVolume);
end;

таким образом звук вырубается в винде. И нужно при нажатии клавиши ну к примеру “Тихо” вырубался звук, который проигрывается в tmediaplayer. И при нажатии еще раз звук обратно возвращался. Но при этом звук винды не изменялся. Потому как после закрытия приложения(например мы поставили на минимум), звук в винде тоже на минимуме.
Заранее Спасибо!!!


 
Digitman ©   (2006-01-24 14:07) [1]


> мучаюсь уже с пол года


За это время можно было прочитать кучу умных книжек и понять, что к чему есть на самом деле.


изменяю громкость звука в проге


Нет в твоей "проге" никакой "громкости звука".
Используя tmediaplayer ты используешь MCI-интерфейс "винды", и с помощью этого интерфейса ты управляешь микшером, который един для ЛЮБЫХ программ, работающих под управлением ОС.


 
Змей ©   (2006-01-24 18:25) [2]

а можно ли какнидь в Media Player изменять громкость звука?
на Медиа спросил несколько раз раза 2 точно послали на...:)


 
Германн ©   (2006-01-24 18:46) [3]


> Змей ©   (24.01.06 18:25) [2]
>
> а можно ли какнидь в Media Player изменять громкость звука?
>  
> на Медиа спросил несколько раз раза 2 точно послали на..
> .:)

Можно.
Но нельзя изменить громкость только в нем! В любом случае громкость изменяется в Виндововском микшере.
Есть только возможность преобразовывать на лету поток медиа. Но это очень не просто!


 
Змей ©   (2006-01-24 20:21) [4]

блин опять в обломе :(((


 
МегаПупс   (2006-01-24 20:40) [5]

На не плач должно работать:)

var
 Form1: TForm1;
 volume: LongWord;

procedure TForm1.FormCreate(Sender: TObject);
begin
  volume := (TrackBar1.Position - TrackBar1.Max+1)* 6500;
  volume := volume +   (volume shl 16);
  waveOutSetVolume(WAVE_MAPPER,volume);
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
 volume := 6500* (TrackBar1.Max - TrackBar1.Position);
 volume := volume +   (volume shl 16);
 waveOutSetVolume(WAVE_MAPPER,volume);
end;


Не забудь mmSystem подключить:)
И вообще раз уж ты полгода надрывался мог готовый компонент скачать
я слышал таких уже много наделали. Но лучше конечно своими руками:)
Так что держи:)


 
Змей ©   (2006-01-25 01:09) [6]

пасиба но работает точно также как и тот код что я написал
блин


 
Змей ©   (2006-01-25 01:12) [7]

вот например в винампе регулирую звук, открываю виндовозовскую панель Volume control и там ничего не меняется
а тут если я закрыл свою прогу когда у меня звук на нуле и потом открываю винамп то ничего не слышу приходится лезть обратно Volume control  и увеличивать звук:( воть
ну лан буим думать


 
Змей ©   (2006-01-25 01:26) [8]

допустим даже понизил я громкость в 0 и сворачиваю программу и хочу открыть винамп или ченидь другое и послушать другую песню не трогая то что играет в моей программе :).
возможно ли это вообще с медиа плеером


 
ASoft   (2006-01-25 03:38) [9]

Поищи сторонние компоненты для работы со звуком. Наверняка найдешь что-то сногсшибательное и забудешь свои печали - 100%


 
Digitman ©   (2006-01-25 08:13) [10]


> вот например в винампе регулирую звук, открываю виндовозовскую
> панель Volume control и там ничего не меняется


потому что Winamp изменяет АЧХ звукового потока "на лету"


 
МегаПупс   (2006-01-25 08:43) [11]

Я говорю попробуй скачать готовый компонент.
Гугл тебе поможет:) могу дать прямой линк но я снего ничего не качал, поэтому не знаю насколько там компонент хороший:)

http://vabank3.narod.ru/com/volume.zip


 
Змей ©   (2006-02-04 01:56) [12]

этот компонент хороший! скачал и поставил DelphiX там есть DirectSound но он только wav юзает а делает то что нужно
вот если бы все форматы крутил было бы суппер



Страницы: 1 вся ветка

Текущий архив: 2006.02.19;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.033 c
15-1138717831
stone
2006-01-31 17:30
2006.02.19
С Днём рождения! 31 января


1-1137596199
Still Swamp
2006-01-18 17:56
2006.02.19
Не исполняется Destructor.


6-1131551799
Леонид Федьков
2005-11-09 18:56
2006.02.19
Копирование файлов с сайта


15-1138686123
Барлог(с)
2006-01-31 08:42
2006.02.19
PS/2 -> COM


2-1138608035
Nurga
2006-01-30 11:00
2006.02.19
Как убрать контексное меню - TWebBrowser, ShockwaveFlash