Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SoundCard [D5, Win95/98, WinME]


Страницы:   1 2

Юра ©   (2002-07-04 23:34:00) 

Как управлять звуковой картой (громкость, баланс)?


dr.keshman   (2002-07-24 17:42:00) [1]

Есть такой модуль MMSYSTEM.PAS в сорсах. Там есть всё нужное
(на основе API), только нужно немного разобраться :).
На самом деле это не сложно, для регулировки нужны лишь некоторые функции.


pasha676   (2002-07-23 14:36:00) [2]

Используються наверняка стандартные API функции. Лучше в них разобраться и самому написать.


Audrius   (2002-07-22 03:37:00) [3]

Naverno zdes kod SveepGen

http://www.programmersheaven.com/file.asp?FileID=2750


МИФИст   (2002-07-13 11:52:00) [4]

А мне не надо =)


Crypter   (2002-07-13 10:44:00) [5]

DC-AC! Будь добр, кинь и мне на мыло...плз...


nikesmile   (2002-07-13 07:58:00) [6]


Ну и я присоединяюсь. И мне тоже plz-z-z-z-z-z-z ....


Real Man   (2002-07-13 04:21:00) [7]

2 DC-AC
Если не затруднит - закинь и мне пожалуйста!
За мной не заржавеет!


Друмлин   (2002-07-10 22:27:00) [8]

Тогда уж и мне не помешает!


Fox Mulder   (2002-07-09 18:53:00) [9]

2 DC-AC
Маленькая просьба: вышли и мне пожалуйста...
на мыло mulder87@mail.ru
Буду очень благодарен !!!


Wizard_Ex   (2002-07-08 16:55:00) [10]

Посмотрите в кладовке.
Там есть компонент Mixer
делает как раз то что надо


asmer   (2002-07-07 08:16:00) [11]

Diamond Cat -> твой код изменяет тока уровень wave-выхода... а не мог бы привести код, который меняет общюю громкость, а?.. типа, реальная задача: есть у меня звуковуха со впаянным (!) в неё усилителем (микросхемка небольшая), а вот регулятор громкости не предусмотрен... ещё у меня есть джойстик, для которого у меня написана небольшая программка, переодически считывающая состояние кнопок и соответственно нажатиям меняющая уровень звука (пока только wave-выхода :))... т.е. чтоб покрывать весь диапазон громкости мне б следовало увеличить общую громкость до упора, а потом уж регулить джойстиком... но, как ентого и следовало ожидать от ручной работы :), при высоком уровне и тихой музыке наблюдаются посторонние звуки (например, можно слышать, как байты по шлейфам ходЮт :))... заранее спасибо :)


LEgO-2   (2002-07-07 03:14:00) [12]

И мне плиззз...кинь на мыль(lego_piter@pisem.net)...


Diamond Cat   (2002-07-07 01:56:00) [13]

вот рабочий код

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls;

type
TForm1 = class(TForm)
TrackBar1: TTrackBar;
TrackBar2: TTrackBar;
Label1: TLabel;
Label2: TLabel;
TrackBar3: TTrackBar;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
procedure TrackBar1Change(Sender: TObject);
procedure TrackBar3Change(Sender: TObject);
procedure TrackBar2Change(Sender: TObject);
procedure TrackBar3Exit(Sender: TObject);
procedure TrackBar1Exit(Sender: TObject);
procedure TrackBar2Exit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}
uses mmsystem;

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

procedure SetWaveVolume(const AVolume: DWord);
var
Woc : TWAVEOUTCAPS;
begin
if WaveOutGetDevCaps(WAVE_MAPPER, @Woc, sizeof(Woc)) =
MMSYSERR_NOERROR then
if Woc.dwSupport and WAVECAPS_VOLUME = WAVECAPS_VOLUME then
WaveOutSetVolume(WAVE_MAPPER, AVolume);
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
var
LeftVolume: Word;
RightVolume: Word;
begin
Label3.Caption:=IntTostr(TrackBar1.Position);
if TrackBar1.Position>TrackBar2.position then TrackBar3.Position:=TrackBar1.position;
LeftVolume :=TrackBar1.Position*655;
RightVolume := TrackBar2.Position*655;
SetWaveVolume(MakeLong(LeftVolume, RightVolume));
beep;
end;

procedure TForm1.TrackBar3Change(Sender: TObject);
var
LeftVolume: Word;
RightVolume: Word;
begin
TrackBar1.Position:=TrackBar3.position;
TrackBar2.Position:=TrackBar3.position;
Label3.Caption:=IntTostr(TrackBar1.Position);
Label4.Caption:=IntTostr(TrackBar2.Position);
LeftVolume :=TrackBar1.Position*655;
RightVolume := TrackBar2.Position*655;
SetWaveVolume(MakeLong(LeftVolume, RightVolume));
beep;
end;

procedure TForm1.TrackBar2Change(Sender: TObject);
var
LeftVolume: Word;
RightVolume: Word;
begin
Label4.Caption:=IntTostr(TrackBar2.Position);
if TrackBar2.Position>TrackBar1.position then TrackBar3.Position:=TrackBar2.position;
LeftVolume :=TrackBar1.Position*655;
RightVolume := TrackBar2.Position*655;
SetWaveVolume(MakeLong(LeftVolume, RightVolume));
beep
end;

procedure TForm1.TrackBar3Exit(Sender: TObject);
begin
beep
end;

procedure TForm1.TrackBar1Exit(Sender: TObject);
begin
beep
end;

procedure TForm1.TrackBar2Exit(Sender: TObject);
begin
beep;
end;

end.


jak   (2002-07-07 01:04:00) [14]

Вышли и мне. Буду очень благодарен


tamerlan311   (2002-07-06 14:02:00) [15]

если не трудно и мне кинте , а? <tamerlan311@mail.ru>


Юра   (2002-07-06 03:14:00) [16]

DC-AC, высылай!


asmer   (2002-07-05 16:26:00) [17]

дц-ац -> дык, как я понял, там библиотека используется какая-то... вин32апи я там чё-та не нашёл... я, канеш, ещё не всё просмотрел, но не думаю, что что-то ещё найду...


Fredericco   (2002-07-05 16:00:00) [18]

2 DC-AC
Вышли и мне пожалуйста!


DC-AC   (2002-07-05 15:25:00) [19]

Выслал.


asmer   (2002-07-05 15:14:00) [20]

дц-ац -> вышли мне, пожалуйста, исходники, ага?..


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо