![]() |
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 |
AW: TAudioVolume Komponente incl. System Mixer
Zitat:
Aber ohne entsprechende Hardware ist das für mich schwer nachzuverfolgen. Zitat:
Zitat:
Andernfalls müsste ich dir dann den Quelltext der 32BIT zur Verfügung stellen. Zitat:
Zitat:
Wenn du mir denn sagst welche es von beiden ist. Zitat:
Zitat:
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 |
AW: TAudioVolume Komponente incl. System Mixer
Zitat:
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 |
AW: TAudioVolume Komponente incl. System Mixer
Zitat:
Neue Version hochgeladen. gruss |
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 |
AW: TAudioVolume Komponente incl. System Mixer
Zitat:
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 |
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 |
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:
Aber wie ich schon sagte habe die Komponente nicht weiter verfolgt diese kann also Fehler beinhalten.
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; 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 |
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 01:53 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 by Thomas Breitkreuz