Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Lautstärke auf XP ändern mit delphi (https://www.delphipraxis.net/71347-lautstaerke-auf-xp-aendern-mit-delphi.html)

Noobinator 13. Jun 2006 17:24


Lautstärke auf XP ändern mit delphi
 
Hy leute

Ich brauche mal wieder eure geniale hilfe :wink:

und zwar bastele ich mir gerade einen Mediaplayer zusammen.
Nun ist das Ganze ein Schulprojekt, und auf unseren Schulrechnern ist die Systemlautstärke deaktiviert.
kann man diese irgendwie im Formcreate aktivieren, und dann die Lautstärke über ein Spinedit einstellen?

Ich habe schon Google und die SuFu gefordert, aber da habe ich nichts gefunden, was mir wirklich hilft.
Vielleicht bin ich auch zu dumm zum suchen :gruebel:

naja hoffe ihr könnt mir helfen

Mfg
Noobinator

Evian 13. Jun 2006 17:32

Re: Lautstärke auf XP ändern mit delphi
 
Geh mal zu den Schweizern und geb in die Suchleiste "Lautstärke" ein. Es gibt dort mehrere Artikel zu diesem Thema und der Code ist auch relativ einfach.

Noobinator 13. Jun 2006 20:52

Re: Lautstärke auf XP ändern mit delphi
 
Zitat:

Zitat von Evian
Geh mal zu den Schweizern und geb in die Suchleiste "Lautstärke" ein. Es gibt dort mehrere Artikel zu diesem Thema und der Code ist auch relativ einfach.

hmm ich check den trotzdem nicht...
könnte das mal bitte posten und kommentieren? wäre echt nett.
achso brauche nicht nur das ändern, sondern erstmal das aktivieren der Lautstärke.
Oder geht das automatisch? also dass der sound aktiviert wird, sobald man die Lautstärke hochschraubt?

SirThornberry 13. Jun 2006 22:38

Re: Lautstärke auf XP ändern mit delphi
 
schau mal hier, da ist die Funktion in 2facher Ausführung vorhanden:
http://www.delphipraxis.net/internal...ct.php?t=73473

Noobinator 14. Jun 2006 09:16

Re: Lautstärke auf XP ändern mit delphi
 
ich habe diesen Code jetzt in meine Unit eingebunden
[code=delphi]uses
MMSystem;

function GetMasterMute(
Mixer: hMixerObj;
var Control: TMixerControl): MMResult;
// Returns True on success
var
Line: TMixerLine;
Controls: TMixerLineControls;
begin
ZeroMemory(@Line, SizeOf(Line));
Line.cbStruct := SizeOf(Line);
Line.dwComponentType := MIXERLINE_COMPONENTTYPE_DST_SPEAKERS;
Result := mixerGetLineInfo(Mixer, @Line,
MIXER_GETLINEINFOF_COMPONENTTYPE);
if Result = MMSYSERR_NOERROR then
begin
ZeroMemory(@Controls, SizeOf(Controls));
Controls.cbStruct := SizeOf(Controls);
Controls.dwLineID := Line.dwLineID;
Controls.cControls := 1;
Controls.dwControlType := MIXERCONTROL_CONTROLTYPE_MUTE;
Controls.cbmxctrl := SizeOf(Control);
Controls.pamxctrl := @Control;
Result := mixerGetLineControls(Mixer, @Controls,
MIXER_GETLINECONTROLSF_ONEBYTYPE);
end;
end;

procedure SetMasterMuteValue(
Mixer: hMixerObj;
Value: Boolean);
var
MasterMute: TMixerControl;
Details: TMixerControlDetails;
BoolDetails: TMixerControlDetailsBoolean;
Code: MMResult;
begin
Code := GetMasterMute(0, MasterMute);
if Code = MMSYSERR_NOERROR then
begin
with Details do
begin
cbStruct := SizeOf(Details);
dwControlID := MasterMute.dwControlID;
cChannels := 1;
cMultipleItems := 0;
cbDetails := SizeOf(BoolDetails);
paDetails := @BoolDetails;
end;
LongBool(BoolDetails.fValue) := Value;
Code := mixerSetControlDetails(0, @Details,
MIXER_SETCONTROLDETAILSF_VALUE);
end;
if Code <> MMSYSERR_NOERROR then
raise Exception.CreateFmt('SetMasterMuteValue failure, '+
'multimedia system error #%d',
Code:
);
end;
und das ins Formcreate geschrieben:

Delphi-Quellcode:
SetMasterMuteValue(100,true);
nur irgendwie geht das doch nicht.
woran liegt das?

ok habe es Geschafft^^ mein Fehler lag hier:

Delphi-Quellcode:
SetMasterMuteValue(100,false);/false statt true
danke euch

Noobinator 14. Jun 2006 15:42

Re: Lautstärke auf XP ändern mit delphi
 
ok doch noch ne Frage.. wie kann ich mithilfe eines Spinedit die Lautstärke ändern?
habe das in diesem Quellcode nicht gefunden...
bräuchte ich noch...
MFG
Noobinator

mOzZzI 14. Jun 2006 20:07

Re: Lautstärke auf XP ändern mit delphi
 
Zitat:

Zitat von Noobinator
ok doch noch ne Frage.. wie kann ich mithilfe eines Spinedit die Lautstärke ändern?
habe das in diesem Quellcode nicht gefunden...
bräuchte ich noch...
MFG
Noobinator

Hi,
*Antwort aus dem Arm rüttel* :mrgreen:

Delphi-Quellcode:
{Timer auf die Form und im OnTimer Ereignis diesen Code einfügen}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 SetMasterMuteValue(spinedit1.Value,false);
end;
Grüße Philipp :zwinker:

SirThornberry 14. Jun 2006 20:21

Re: Lautstärke auf XP ändern mit delphi
 
mit dem oben geposteten source stellt man nur ein ob mute oder nicht. Die Lautstärke wird damit überhaupt nicht gesetzt.

mOzZzI 14. Jun 2006 20:30

Re: Lautstärke auf XP ändern mit delphi
 
Zitat:

Zitat von SirThornberry
mit dem oben geposteten source stellt man nur ein ob mute oder nicht. Die Lautstärke wird damit überhaupt nicht gesetzt.

SetMasterMuteValue :wall:

sry

Noobinator 14. Jun 2006 21:00

Re: Lautstärke auf XP ändern mit delphi
 
ja das habe ich auch gemerkt... aber wie geht jetzt die Lautstärke?


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz