Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Per Knopfdruck Micro an- und Ausschalten (https://www.delphipraxis.net/76010-per-knopfdruck-micro-und-ausschalten.html)

Radon 28. Aug 2006 18:20


Per Knopfdruck Micro an- und Ausschalten
 
Hallo

Ich bin ein Teamspeakbenutzer und möchte ein kleines Programm schreiben, womit man den Soundeingang mit einem Tastendruck muten kann. Wenn im Spiel also mal die Mutter reinkommt, soll man eine Taste drücken können und schon wird der Soundeingang gemutet oder abgeschaltet. Drückt man die Taste erneut, soll man wieder sprechen können.

Tja, dazu brauche ich aber einen Ansatz. Ich habe keine Ahnung, wie man die Sound-ein- und ausgänge kontrollieren kann.

Kann mir da jemand helfen? :love:


Greetz Radon

Mackhack 28. Aug 2006 19:37

Re: Per Knopfdruck Micro an- und Ausschalten
 
MSDN-Library durchsuchenMCI koennte hier helfen!

Radon 29. Aug 2006 16:04

Re: Per Knopfdruck Micro an- und Ausschalten
 
ohje, danke für denk Link, aber das ist für mich das reinste Fachchinesisch...

Wenn mir jemand noch einen Tipp geben könnte, nach was ich da suchen sollte, dann würde mir das extrem weiterhelfen.

Der_Unwissende 29. Aug 2006 16:43

Re: Per Knopfdruck Micro an- und Ausschalten
 
Hi,
du solltest dir dieses Fachchinesisch aneignen, da hier immer alle Infos zu solchen Systemnahen Funktionen zu finden sind! Ausserdem hat sich hier schon jmd. die Mühe gemacht nicht nur auf MS zu verweisen oder auf das PSDK, also ruhig mal anschauen was es da so für Funktionen gibt!
Du würdest schnell auf verschiedene Methoden und Gruppen stossen, z.B. Wavefunktionen. Da dein Teamspeak wahrscheinlich als solche ausgegben wird, könnte dich dann die Funktion MSDN-Library durchsuchenWaveOutSetVolume sehr stark interessieren.
Weil ich heute mal einen guten Tag hab ein wenig Hilfe zu dem Thema: Schau dir unbedingt die Seite WaveOutSetVolume an. Die ist wirklich leicht verständlich und es wird dir nicht jedesmal jmd. die Suche abnehmen!
Hier findest du ein paar interessante Infos, z.B. welche Parameter erwartet werden und wie die möglichen Rückgabeparameter aussehen.
Ziemlich am Schluß werden immer die Headerdateien angegeben, die hier benötigt werden. In Delphi heißen die gleich (bis auf das .h). Als Motivation, dass du dir die Seiten anschaust sage ich jetzt auch nicht, was in die Uses-Klausel rein muss.

Wie immer arbeitet Windows hier mit Handles. Du benötigst in diesem Fall das Handle zu dem Audiodevice, dass du Stumm schalten möchtest. Wie man dieses bekommst findest du auch mit ein wenig stöbern in den Seiten. Du findest in dem allgemeinen Teil Devices and Data Types (wo man solche Infos auch erwarten kann), folgenden Abschnitt:
Zitat:

Zitat von MSDN
Audio devices are identified by a device identifier. The device identifier is determined implicitly from the number of devices present in a system. Device identifiers range from zero to one less than the number of devices present. For example, if there are two waveform-audio output devices in a system, valid device identifiers are 0 and 1.

After you determine how many devices of a certain type are present in a system, you can use one of the following functions to query the capabilities of each device.

Ja, hier sieht man eigentlich, dass die MSDN Hilfen immer recht gut geschrieben sind (kenn da echt einige sehr deutlich schlechtere, unvollständige und unbrauchbare Dokumentationen). Wie du hier siehst, kannst du einfach mit MSDN-Library durchsuchenwaveOutGetNumDevs die Anzahl der Geräte ermitteln und hast damit automatisch die Handles. Diese gehen von 0 bis zu der ermittelten Anzahl - 1. Details welches Devices jetzt was entspricht bringt dir dann MSDN-Library durchsuchenwaveOutGetDevCaps und wie du dann die Lautstärke setzt steht hier ja schon (geht alles aus der Seite, nicht dem Zitat hervor).

Ja, wie gesgagt, mein Tipp ist du schaust dir wenigstens die Seiten noch mal an und fragst dann wenn du dort etwas nicht verstehst nochmal nach. Wie gesagt, hier wurde dir schon vor diesem Beitrag eine Menge Arbeit abgenommen, ein wenig selbst machen musst du auch.

Gruß Der Unwissende

[EDIT]
Sorry, hab gerade gesehen, dass es um den Eigang geht, einfach out durch in ersetzen, dann sollte es fast gehen!
[/EDIT]

Mackhack 29. Aug 2006 18:30

Re: Per Knopfdruck Micro an- und Ausschalten
 
Hm passt doch. Er sagte doch Ein-/ und Ausgaenge!

//Edit: Das sollte fuer dich auch noch interessant sein zum Muten: MSDN-Library durchsuchenWaveOutSetVolume

WIN-MANww 4. Sep 2006 19:41

Re: Per Knopfdruck Micro an- und Ausschalten
 
Hmm wieso einfach wenns auch kompliziert geht? Nein also:

In Teamspeak gibts die Möglichkeit, dass man verschiedenen Tasten irgendwelche Aktionen zuweisen kann. Dazu einfach auf Settings -> Key Settings gehen, danach auf Add klicken. Unterhalb des ersten Editfeldes auf Set klicken, die gewünschte Taste drücken und dann in der Liste Toggle -> Mute Microphone wählen. Das Ganze mit OK bestätigen und das Keybindingsfenster mit Close schliessen. Jetzt kannst du während dem Zocken die Taste drücken und dann hört dich niemand mehr.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:21 Uhr.

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-2025 by Thomas Breitkreuz