Delphi-PRAXiS
Seite 21 von 21   « Erste     11192021   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   TAudioVolume Komponente incl. System Mixer (https://www.delphipraxis.net/196270-taudiovolume-komponente-incl-system-mixer.html)

grizzly 25. Nov 2018 22:09

AW: TAudioVolume Komponente incl. System Mixer
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo!

Ich habe es noch ein paar mal probiert, und es crasht zuverlässig wenn ich den Kopfhörer ausschalte. Sollte also leichter zu finden sein als irgendwelche zufällig auftretenden Bugs. Wenn Du willst kann ich eine Test-Version mit irgendwelchen Debug-Infos, Logs, oder was weiß ich, laufen lassen, da sollte ich diese Woche dazukommen. Zum hier kompilieren und debuggen kann ich nur mit einer X4 und der letzten Community-Version dienen. Ohne irgendwelche Komponenten.
Kleinigkeit am Rande: Beim Einschalten des Kopfhörers kommt eine Information, auch wenn man "Show Information" ausgeschaltet hat (siehe Screenshot)

Ist mir schon klar, dass das ein Freizeitprojekt ist und Du da nicht beliebig viel Zeit reinstecken kannst/willst/darfst! Ich biete ja nur an, bei diesem speziellen Fall mit testen zu helfen, falls Dich der Fehler reizt :wink:. Ansonsten glaube ich auch nicht, dass das eine Situation ist, die im Normalbetrieb oft auftritt.

Gruß
Michael

EWeiss 25. Nov 2018 23:18

AW: TAudioVolume Komponente incl. System Mixer
 
Zitat:

Ich habe es noch ein paar mal probiert, und es crasht zuverlässig wenn ich den Kopfhörer ausschalte.
Ich behaupte jetzt einfach mal das in dem fall dann kein Default Device mehr existiert und AudioEndpointVolume dann auf einem ungültigen Device zugreift.
Aber ohne entsprechende Hardware ist das für mich schwer nachzuverfolgen.

Zitat:

Wenn Du willst kann ich eine Test-Version mit irgendwelchen Debug-Infos, Logs, oder was weiß ich, laufen lassen, da sollte ich diese Woche dazukommen.
Ich habe keine Logs eingebaut.

Zitat:

Zum hier kompilieren und debuggen kann ich nur mit einer X4 und der letzten Community-Version dienen.
Macht nur sinn wenn diese auch 64Bit unterstützt.
Andernfalls müsste ich dir dann den Quelltext der 32BIT zur Verfügung stellen.

Zitat:

Ist mir schon klar, dass das ein Freizeitprojekt ist und Du da nicht beliebig viel Zeit reinstecken kannst/willst/darfst!
Zeit ohne ende, wollen tue ich solange bis es zu 98% zuverlässig läuft, nun ist mein Projekt denke schon das ich das darf ;)

Zitat:

Ich biete ja nur an, bei diesem speziellen Fall mit testen zu helfen, falls Dich der Fehler reizt .
Das ist auch nett von dir.. werde den Quelltext auf meinem Server hochladen und dir die Version schicken die du debuggen kannst.
Wenn du mir denn sagst welche es von beiden ist.

Zitat:

Ansonsten glaube ich auch nicht, dass das eine Situation ist, die im Normalbetrieb oft auftritt.
Davon gehe ich auch mal aus, trotzdem sollte es funktionieren. :)
Zitat:

Beim Einschalten des Kopfhörers kommt eine Information, auch wenn man "Show Information" ausgeschaltet hat (siehe Screenshot)
Ja bedenke bitte das dass entfernen und addieren neuer Device eine neu Implementation ist und noch nicht voll ausgereift wie du sehen kannst.
Deshalb zeige ich mir hier eine Message Box an wenn das Default Device geändert wurde.

Später wird hier dann der Scrolltext (Information) damit gefüttert.

PS:
Ist das bei dir normal mit den 3 Firefox Prozessen im Mixer? Erstellt dieser für jedes Fenster einen eigenen Prozess?
Wenn dem so ist wäre es vielleicht besser die Fenster Titel anstelle des Anwendungsnamen anzuzeigen..
Anstelle von "Internet Explorer" wird der Titel des Tabs angezeigt das aktiv ist wenn der Mixer startet.
Siehe Shot! Kommt dann in der nächsten Version.

Du hast eine PN!
Fange beim Debuggen in dieser procedure uMain an.
Delphi-Quellcode:
procedure TMainClass.MasterDeviceStateChange(DeviceId: string; NewDeviceState: Cardinal);


gruss

EWeiss 29. Nov 2018 06:54

AW: TAudioVolume Komponente incl. System Mixer
 
Zitat:

Leider hat er sich dann verabschiedet
Auch wenn hier keine Antwort kommt.

Das Problem mit dem Absturz liegt daran das der System Mixer beim hinzufügen, entfernen oder ändern eines Device
die ganzen Audio Session für das vorher verwendete entfernt. Siehe Anhang.

Ich kann mir also nicht vorstellen das dein Kopfhörer über irgend eine Session verfügt.
Da ich sie zur zeit aber noch nicht entferne kracht es halt.
Muss mal sehn wie wir das beheben.

Bin froh wenn das teil mal 100% läuft. ;)

gruss

EWeiss 12. Dez 2018 22:19

AW: TAudioVolume Komponente incl. System Mixer
 
Zitat:

Lediglich in der Anzeige gab es ein kleines Problem: Die Liste der „selected devices“ hat die Channel-Info überschrieben
Wurde gefixt sollte nun nicht mehr auftreten.

Neue Version hochgeladen.

gruss

Klavos 29. Jun 2019 21:16

AW: TAudioVolume Komponente incl. System Mixer
 
Hallo Emil,
ich habe Deine Beiträge zur AudioVolume-Komponente verfolgt,
in der Du u.a. die Unit/Komponente beschreibst.
Wo kann ich jedoch die Unit herunterladen?
Klaus

EWeiss 29. Jun 2019 21:19

AW: TAudioVolume Komponente incl. System Mixer
 
Zitat:

Zitat von Klavos (Beitrag 1435627)
Hallo Emil,
ich habe Deine Beiträge zur AudioVolume-Komponente verfolgt,
in der Du u.a. die Unit/Komponente beschreibst.
Wo kann ich jedoch die Unit herunterladen?
Klaus

Mixer64.zip ?

Im Ordner TAudioVolume
Oder meinst du die Komponente? (Die habe ich nicht weiterentwickelt) Nur diese mit den Dynamisch erstellten Devices..
Aber wenn dem so ist.. Bitte im Anhang. Ich gebe gern ;)

gruss

Klavos 30. Jun 2019 09:09

AW: TAudioVolume Komponente incl. System Mixer
 
Danke Emil!
Oh ja-ich habe es befürchtet :shock: :
diese Mixer-Unit (u.a.) sind eine Nummer zu groß für mich!
Ich arbeite mit Delphi6 und bin nicht in der Lage, folgenden
Teilausschnitt aus Deinen Unit's zu extrahieren:
Ich benötige eine (eigene) Ereignisbehandlungsroutine, in der
ich das Ereignis "Volumen-Master-Änderung" behandeln kann.
Bislang mache ich das erfolgreich mit einem Timer-Ereignis,
in dem ich den Pegel des Volumen-Master-Reglers zyklisch abfrage.
Hintergrund: Ich stelle über einen extern (COM-Port) angeschlossenen µP die
Lautstärke des Audio-Leistungsverstärkers äquivalent zur
eingestellten Lautstärke des (PC-)VolumenReglers (Rauschminderung).
Ziel: Ich möchte die zyklische Abfrage durch eine
Ereignisbehandlungsroutine ersetzen.
Kannst Du mir einen Tip geben, wie ich an das Ereignis gelange?
Danke
Klaus

EWeiss 30. Jun 2019 09:23

AW: TAudioVolume Komponente incl. System Mixer
 
Du meinst das Event?
Gibt es doch in meiner Komponente..

Siehe App..
Delphi-Quellcode:
procedure AudioVolume1MasterVolumeChanged(ByMyAction: Boolean; Volume: Single; Mute: Boolean);


AudioVolume..
Delphi-Quellcode:
TOnMasterVolumeEvent = procedure(ByMyAction: Boolean; Volume: Single; Mute: Boolean) of object;
//...
FOnMasterVolumeEvent: TOnMasterVolumeEvent;
//..
property OnMasterVolumeChanged
  : TOnMasterVolumeEvent read FOnMasterVolumeEvent write FOnMasterVolumeEvent;
Delphi-Quellcode:
function TAudioVolume.OnNotify(pNotify: PAUDIO_VOLUME_NOTIFICATION_DATA): HResult; stdcall;
begin
  if MainThreadID <> GetCurrentThreadId then
  begin
    TThread.Synchronize(nil,
      procedure
      var
        VolumeData: AUDIO_VOLUME_NOTIFICATION_DATA;
      begin
        VolumeData := pNotify^;

        if Assigned(tbMasterVolume) then
        begin
          tbMasterVolume.Position := round((1.0 - VolumeData.fMasterVolume) * tbMasterVolume.Max);
          ckMasterMute.Checked := VolumeData.bMuted;
        end;
        if Assigned(tbMasterBalance) then
          AdjustMasterBalancePos;

        if Assigned(FOnMasterVolumeEvent) then
          FOnMasterVolumeEvent(MyVolSet, VolumeData.fMasterVolume, VolumeData.bMuted); // hier ist die Rückgabe..
      end);
  end;

  Result := S_OK;
end;
Aber wie ich schon sagte habe die Komponente nicht weiter verfolgt diese kann also Fehler beinhalten.
Ich erstelle die mit meiner Anwendung Mixer64 Dynamisch.. und ist allemal besser als eine Komponente da man dann nicht abhängig von den Visuellen Styles ist die in der Komponente addiert\festgelegt sind.
Zudem muss ich nichts installieren oder Registrieren.

gruss

SearchBot 24. Jul 2019 12:24

AW: TAudioVolume Komponente incl. System Mixer
 
Hallo,

gerade gestern habe ich wieder angefangen, mich mit der Lautstärkesteuerung eines anderen Prozesses zu beschäftigen.
Ich habe dann MfPack durch den Tipp von KodeZwerg entdecken dürfen, aber nicht geblickt.

Dann erinnerte ich mich, dass ich doch mal die einfachere Komponente TAudioVolume vom Stand Mai 2018 geholt hatte, deren Gestaltung mir aber nicht zusagte (ich brauche nur den Trackbar, man kann das andere aber nicht ausblenden oder die Größe verändern [hab es schon mal versucht, bin aber nicht fit im Ändern von Komponenten]).

Heute mache ich also weiter und denke so bei mir, "vielleicht gibt es ja ein Update dieser Komponente..?"

:pale: Oh nein, FATAL - EWeiss hat genau heute Morgen das Projekt entfernt!! :pale:

Wo bekomme ich denn jetzt die letzte Version von TAudioVolume?


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:30 Uhr.
Seite 21 von 21   « Erste     11192021   

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