AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Lautstärke andere Programm veringern, ohne die des eigenen
Thema durchsuchen
Ansicht
Themen-Optionen

Lautstärke andere Programm veringern, ohne die des eigenen

Ein Thema von Alallart · begonnen am 21. Apr 2018 · letzter Beitrag vom 5. Mai 2018
Antwort Antwort
Seite 2 von 3     12 3      
OLDIE1950

Registriert seit: 2. Jan 2018
22 Beiträge
 
#11

AW: Lautstärke andere Programm veringern, ohne die des eigenen

  Alt 23. Apr 2018, 09:48
Danke für den Link!
Mit WAV-Files geht es, mit MP3-Files friert es ein.

Nachtrag:
Den MediaPlayer habe ich jetzt durch den VLC-Player ersetzt.
https://wiki.videolan.org/Using_libvlc_with_Delphi/

Geändert von OLDIE1950 (23. Apr 2018 um 12:15 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Lautstärke andere Programm veringern, ohne die des eigenen

  Alt 23. Apr 2018, 12:17
Die Antwort: "Windows Mixer Api" ist so allgemein
Ich hatte mich ja bereits verbessert und Entschuldige mich hiermit nochmals für eine falsch erste Antwort, das war wirklich nur für alles oder nichts Methodik.
Ich suche mit den mir gegebenen Stichworten
Dann hättest Du auch was gefunden, MfPack zum Beispiel auf Sourceforge. Da hast du eine komplette Delphi Komponente die genau das machen kann was Du willst. Fremde Prozesse stumm schalten.
Der Tipp war sehr allgemein
In meinem dritten Post gab ich Dir Links zu exakt den zwei Api's die Du brauchst, EWeiss sagte Dir wonach Du suchen solltest, da kam sogar ein Link mit einem kompletten Source Code!
und wie so oft gibt es da nicht einen fertigen Befehl
Delphi-Quellcode:
uses
  MMDeviceApi, ActiveX, AudioPolicy;
var
  DeviceEnumerator: IMMDeviceEnumerator;
  DefaultDevice: IMMDevice;
  SessionManager: IAudioSessionManager;
  SessionControl: IAudioSessionControl;
begin
  if Succeeded(CoCreateInstance(CLSID_MMDeviceEnumerator, nil, CLSCTX_INPROC_SERVER, IID_IMMDeviceEnumerator, DeviceEnumerator))
    and Succeeded(DeviceEnumerator.GetDefaultAudioEndpoint(eRender, eMultimedia, DefaultDevice))
    and Succeeded(DefaultDevice.Activate(IID_IAudioSessionManager, CLSCTX_INPROC_SERVER, nil, IUnknown(SessionManager)))
    and Succeeded(SessionManager.GetAudioSessionControl(nil, 0, SessionControl)) then
    SessionControl.SetDisplayName('Mein Programm', nil);
ein Befehl der Dir eine Schnittstelle "SessionControl" anbietet, gefunden auf Stackoverflow.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#13

AW: Lautstärke andere Programm veringern, ohne die des eigenen

  Alt 23. Apr 2018, 15:35
Danke für den Link!
Mit WAV-Files geht es, mit MP3-Files friert es ein.

Nachtrag:
Den MediaPlayer habe ich jetzt durch den VLC-Player ersetzt.
https://wiki.videolan.org/Using_libvlc_with_Delphi/
Was habe ich denn dabei geschrieben.. Lesen
Zitat:
Um die eigene Lautstärke zu reduzieren lade ein Midi File damit und regele dann das Anwendungsvolumen.
Sollte eigentlich klar sein das der MCI Player für MP3 nicht sonderlich taugt.
Das ist ja auch kein abspielgerät sondern eine Volumen Komponente.

gruss
  Mit Zitat antworten Zitat
OLDIE1950

Registriert seit: 2. Jan 2018
22 Beiträge
 
#14

AW: Lautstärke andere Programm veringern, ohne die des eigenen

  Alt 23. Apr 2018, 17:38
Warum bist Du eigentlich immer so aggressiv???
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#15

AW: Lautstärke andere Programm veringern, ohne die des eigenen

  Alt 23. Apr 2018, 17:41
Warum bist Du eigentlich immer so aggressiv???
Wo?
Ich habe kein Problem zu lesen.
Du prangerst Fehler an ohne vorher zu lesen was die Vorrausetzungen für das Programm sind.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#16

AW: Lautstärke andere Programm veringern, ohne die des eigenen

  Alt 24. Apr 2018, 08:39
Der Suchbegriff zu dem Thema lautet Ducking. Hier findet sich in der API z.B. etwas dazu:
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
Man kann unter Windows einstellen wie darauf reagiert werden soll, wenn eine Kommunikation erkannt wird. Zum Beispiel alles andere um 80% herunterregeln. Das heißt man müsste nur noch den Alarm als Kommunikation flaggen und schon sollte Windows das je nach Einstellung selbst machen. Wie das geht weiß ich allerdings nicht aus dem Hut.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#17

AW: Lautstärke andere Programm veringern, ohne die des eigenen

  Alt 24. Apr 2018, 08:44
Der Suchbegriff zu dem Thema lautet Ducking. Hier findet sich in der API z.B. etwas dazu:
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
Man kann unter Windows einstellen wie darauf reagiert werden soll, wenn eine Kommunikation erkannt wird. Zum Beispiel alles andere um 80% herunterregeln. Das heißt man müsste nur noch den Alarm als Kommunikation flaggen und schon sollte Windows das je nach Einstellung selbst machen. Wie das geht weiß ich allerdings nicht aus dem Hut.
Dann nur das Interface IAudioVolumeDuckNotification noch implementieren und gut ist.
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

gruss
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: Lautstärke andere Programm veringern, ohne die des eigenen

  Alt 24. Apr 2018, 11:07
Dann nur das Interface IAudioVolumeDuckNotification noch implementieren und gut ist.
Das ist ja die andere Richtung. Reagieren darauf, dass eine Kommunikation läuft um das Ducking selbst umzusetzen. Das kenne ich. Hier soll es aber initiiert werden. Sprich die Soundausgabe muss als Kommunikationsstream erfolgen.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Alallart

Registriert seit: 8. Dez 2015
155 Beiträge
 
#19

AW: Lautstärke andere Programm veringern, ohne die des eigenen

  Alt 24. Apr 2018, 17:49
Zuerst vielen Dank an alle.

@KodeZwerg

Ich hoffe nicht, dass du mich falsch verstanden hast, natürlich bin ich auch für die "allgemeine Antwort" dankbar. Aber das alles ist keine fertige Funktion, sondern viel Stoff, wenn man es nicht mit Copy&Paste nutzen will. Also mein Hinweis, dass ich noch drei Wochen vor der Lösung stehe war nicht böse gemeint, sondern sollte heißen, dass ich mich da einarbeiten muss.

Wie auch immer, inzwischen weiß schon mal wie man allgemein die Lautstärke regelt. Ist schon etwas.


@jaenicke, EWeiss

Wenn man in der Systemsteuerung von Windows 7 geht, und da auf Sound, gibt es im Register Kommunikation die Möglichkeit andere Programme in der Lautstärke um 50 oder 80% zu reduzieren, wenn zB das Telefin klingelt. Um das geht es mir.

Ich dachte zuerst daran die Gesamt-Lautstärke um 50% zu reduzieren und/oder meinen Programm dann lauter zu machen, aber wenn das Programm abstürzt, bleibt die Einstellung so. Der Methode von jaenicke beschreibt aber eine Funktion die die anderen Programme allgemein leiser macht, während das eigene Programm normal laut bleibt.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#20

AW: Lautstärke andere Programm veringern, ohne die des eigenen

  Alt 24. Apr 2018, 17:57
Zitat:
Der Methode von jaenicke beschreibt aber eine Funktion die die anderen Programme allgemein leiser macht, während das eigene Programm normal laut bleibt.
Das wäre doch die Lösung
Musst du halt noch ein bisschen basteln

PS:
Allerdings musst du die aktuelle Lautstärke der Anwendungen natürlich erfassen und beibehalten um sie später zurück zu setzen.
Ist zumindest besser falls deine Anwendung abstürzt.

gruss
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz