Форум: "Система";
Текущий архив: 2002.10.03;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.006 c