Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#119

AW: TAudioVolume Komponente incl. System Mixer

  Alt 17. Mai 2018, 12:32
Zitat:
Einzig und allein der Aufruf von GetSessionEnumerator ist der entscheidende Punkt.
Entschuldige bitte das hatte ich schon im Quelltext enthalten seit urgedenken.
Das entscheidende ist der Zusätzliche Thread für die Events nichts anderes.

Zitat:
Wie denn nun Herr Weiss?
Mit oder ohne Thread? Entscheiden Sie sich.
Nun.. sorry manche verstehen es einfach nicht.

Also nochmal.
Deine erster Versuch war in einer Anwendung welche nur 1 Thread beinhaltet und das war\ist nicht gleichzusetzen mit TAudioVolume.
OK? Gut dann weiter.

Ich hatte dich aufgefordert so wie in TAudioVolume eine Anwendung zu erstellen bzw. zu testen mit den Begebenheiten wie sie in TAudioVolume vorlagen.
Was hast du gemacht einen extra Thread für die Events erstellt der aber in TAudioVolume zu der zeit nicht existierte.
OK? Gut dann weiter.

Hättest du dich an der Basis gehalten dann wäre dir genau das Aufgefallen das TAudioVolume keinen extra Thread für SessionCreate erstellt hat.
So! Auf mehr wollte ich gar nicht raus.

Und ohne diesen besagten Thread würde deine Anwendung ins leere laufen so wie es bei TAudioVolume war.

Zitat:
einbaust (Plus ActiveX, ComObj in die Uses), wird dies Verwendet, ohne die DPR ändern zu müssen. Es wird automatisch gesetzt, wenn deine Unit verwendet wird.
Danke Holger werde es mal testen

EDIT:
Nein es geht nicht!
Teste es selbst mit TAudioVolume.
Das ist warum ich sage man muss mit der Basis arbeiten.

Zitat:
Windows 7 System and Windows 10 System operate differently.The new audio session create event is fired on Windows 10 System but not on Windows 7 Systemregardless of the parameter of CoInitializeEx(COINIT_APARTMENTTHREADED or COINIT_MULTITHREADED),if it is defined in the TAudioVolume.Create method.However new audio session create event is fired if we use a seperate thread to receive the events.So, you should use a thread to accept the event ( Create the thread in TAudioVolume.Create method,destroy the thread in TAudioVolume.Destroy method ).
Zitat:
Diese überlangen und sehr komplizierten Non-VCL-Quelltexte, mit denen du normalerweise hantierst, tragen natürlich dazu bei.
Diese funktionieren hervorragend du musst dich nur mal herablassen und sie testen.

gruss

Geändert von EWeiss (17. Mai 2018 um 12:59 Uhr)
  Mit Zitat antworten Zitat