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

Вниз

SoundCard   Найти похожие ветки 

 
Юра   (2002-07-04 23:34) [0]

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


 
DC-AC   (2002-07-05 07:20) [1]

Откуда-то скачал такую штуку : SweepGen - An Audio Sweep Generator - David J Taylor с исходниками на Delphi, расписан весь "высший пилотаж" со звуковой картой. Откуда скачал - не помню, а вот на мыло выслать могу.


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

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


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

Выслал.


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

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


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

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


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

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


 
tamerlan311 ©   (2002-07-06 14:02) [7]

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


 
jak   (2002-07-07 01:04) [8]

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


 
Diamond Cat ©   (2002-07-07 01:56) [9]

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

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.


 
LEgO-2 ©   (2002-07-07 03:14) [10]

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


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

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


 
Wizard_Ex ©   (2002-07-08 16:55) [12]

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


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

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


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

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


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

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


 
nikesmile   (2002-07-13 07:58) [16]


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


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

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


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

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


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

Naverno zdes kod SveepGen

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


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

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


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

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



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

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

Наверх




Память: 0.51 MB
Время: 0.014 c
3-7874
strahov
2002-09-09 17:40
2002.10.03
Потушите пожар в мозгах !!!!!


1-8004
Mazenrat
2002-09-20 15:17
2002.10.03
StrToInt и IntToStr без sysutils.


3-7856
KIR
2002-09-12 08:43
2002.10.03
2 запроса в один DBGrid


14-8153
undert
2002-09-03 20:12
2002.10.03
NickName !!!!! :)))))


1-7923
Akim2
2002-09-23 11:11
2002.10.03
Помогите вычитать адрес сетевой платы.