Kontrola glasnosti

Vse o večpredstavnosti (zvok, video, DirectShow in podobno).
mrpiagg
Prispevkov: 13
Pridružen: 20.06.2001 10:52:59

Kontrola glasnosti

Odgovor Napisal/-a mrpiagg » 22.12.2001 16:00:23

Kako za boga se kontrolira glasnost v delfiju brez da bi uporabljov kakšno komponento ?? če se sploh da...

LP

Miha-R
Prispevkov: 2153
Pridružen: 14.05.2001 21:29:53

Kontrola glasnosti

Odgovor Napisal/-a Miha-R » 22.12.2001 16:09:00

Delphi sam po sebi ni glasen, zato predvidevam, da bi rad nadzoroval glasnost predvajanih datotek (WAV,...) ;)

Ali imaš kakšen poseben razlog, da ne želiš uporabiti tistega milijona komponent, ki so že pripravljene, da jih uporabimo v svojih programih? Pa tudi, če ne želiš vključiti določene komponente, si jih lahko vseeno preneseš in pogledaš izvorno kodo, kako so drugi to naredili.

Sicer je pa točen odgovor na tvoje vprašanje: s funkcijo auxSetVolume. Deklarirana je v mmsystem.pas.

mrpiagg
Prispevkov: 13
Pridružen: 20.06.2001 10:52:59

Kontrola glasnosti

Odgovor Napisal/-a mrpiagg » 22.12.2001 16:48:19

danke ........... finke švedinje francozinje :)

jah moj cil je nardit super pleyr... za vse kar se spomneš brez extra komponent... kao...:D

mrpiagg
Prispevkov: 13
Pridružen: 20.06.2001 10:52:59

Kontrola glasnosti

Odgovor Napisal/-a mrpiagg » 22.12.2001 17:35:06

A ta zadeva sploh dela v Win XP ali win 2000 ??
Nikakor ga ne morem prepričat da bi mi zmanjšov glasnost.. .grrrrr

Miha-R
Prispevkov: 2153
Pridružen: 14.05.2001 21:29:53

Kontrola glasnosti

Odgovor Napisal/-a Miha-R » 22.12.2001 17:57:39

MSDN pravi, da dela povsod.
Ampak če ne pošlješ kode, ti tudi pomagati ne morem(o)...

mrpiagg
Prispevkov: 13
Pridružen: 20.06.2001 10:52:59

Kontrola glasnosti

Odgovor Napisal/-a mrpiagg » 22.12.2001 18:01:48

procedure SetVolume(X: Word);
var
iErr : Integer;
i: integer;
a: TAuxCaps;
begin
for i := 0 to auxGetNumDevs do begin
auxGetDevCaps(i,Addr(a),SizeOf(a));
If a.wTechnology = AUXCAPS_CDAUDIO Then break;
end;

iErr:=auxSetVolume(i,(X*$10001));
if (iErr‹›0) then ShowMessage('Ni napravic za tebe .. hehe');
end;

function GetVolume: Word;
var
iErr : Integer;
i: integer;
a: TAuxCaps;
vol: word;
begin
for i := 0 to auxGetNumDevs do begin
auxGetDevCaps(i,Addr(a),SizeOf(a));
If a.wTechnology = AUXCAPS_CDAUDIO Then break;
end;
iErr:=auxGetVolume(i,addr(vol));
GetVolume := vol;
if (iErr‹›0) then ShowMessage('Ni napravic za tebe .. hehe!');
end;


tele kode nikakor ne spravm v pogon ... grrr

mrpiagg
Prispevkov: 13
Pridružen: 20.06.2001 10:52:59

Kontrola glasnosti

Odgovor Napisal/-a mrpiagg » 22.12.2001 18:04:34

evo simpl k pasul...:)

ta koda je staknena na intrnetu ...

uses MMSystem;

procedure SetWavVolume(Lewy,Prawy:Byte);
begin
waveOutSetVolume(WAVE_MAPPER, Integer((Lewy shl 24) or (Prawy shl 8)));
end;

lewy in pa Prawy hehehe :D:D:D:D

Uporabniški avatar
JernejL
Prispevkov: 1292
Pridružen: 17.11.2001 10:14:23
Kontakt:

Kontrola glasnosti

Odgovor Napisal/-a JernejL » 22.12.2001 18:16:01

ta koda ti nastavi samo glasnost za wave če tvoj predvajalnik predvaja midi pa ...

pa če to :
ta koda ne nastavi vedno wave včasih nastavi cd ali pa line in ...
odvisno od zvočne kartice

priporočam ti komponento taudio ki je zastojn
le v about boxu dodaš label z napisom
da tvoj program uporablja komponento taudio od tega pa tega in dodaš http ali mailto link.
Igre in Delphi - WIP projekt, ki traja že od leta 2003. [url]http://mathpudding.com/[/url]

MaticV
Prispevkov: 123
Pridružen: 29.08.2002 13:26:38

Kontrola glasnosti

Odgovor Napisal/-a MaticV » 03.10.2002 17:41:47

Imam isti problem kot ga je imel Mrpiagg.
Hocem nastaviti glasnost, vendar...

napisem recimo: AuxSetVolume(2,TrackBar1.Position);

deluje :cool:, ze, vendar mi ne spreminja samo glasnost, ampak tudi balance. :evil:
Sej veste kaj je to balance. :)

no in kako bi naredu da se bi mi spreminjal sam Volume.

_GeS_
Prispevkov: 435
Pridružen: 13.05.2001 15:09:47

Kontrola glasnosti

Odgovor Napisal/-a _GeS_ » 04.10.2002 00:23:09

hmm, enkrat sem na torry.net med Tips & Tricks videl zadevo ;) Tako da tam malce pobrskat pa je rešitev tu ;)
www.stvarca.net

Odgovori