Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 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.007 c
3-7791
Tornado
2002-09-11 15:54
2002.10.03
Вопрос по FastReport


1-8063
Vladislav
2002-09-19 18:33
2002.10.03
Как подавить сообщение.


14-8176
Lamer86
2002-09-04 21:23
2002.10.03
Как узнать IP человека, который написал мне письмо?


14-8135
BigBadMutuh
2002-09-06 23:44
2002.10.03
Видеомонтаж


7-8206
Holder 2002
2002-07-18 15:13
2002.10.03
Можно ли заблокировать из Windows кнопку Reset ? (на корпусе)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский