AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte TAudioVolume Komponente incl. System Mixer
Thema durchsuchen
Ansicht
Themen-Optionen

TAudioVolume Komponente incl. System Mixer

Ein Thema von EWeiss · begonnen am 6. Mai 2018 · letzter Beitrag vom 24. Jul 2019
 
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.079 Beiträge
 
Delphi 10.4 Sydney
 
#31

AW: TAudioVolume Komponente incl. System Mixer

  Alt 17. Mai 2018, 11:44
Dir ist schon klar das du dein Sample nicht mit meiner Anwendung bzw. TAudioVolume vergleichen kannst oder?
Du tust doch praktisch nichts .. bis auf ein paar Zeilen im Memo Auszugeben und das alles in der gleichen Anwendung bzw. Thread!
Natürlich kann es vergleichen. Man kann es nur nicht gleichsetzen! Man beachte den Unterschied.

Immer wenn ich mit einem Programmierproblem nicht weiterkomme, versuche ich das Problem zu isolieren.
Das geht am Besten in einen Konsolenprogramm oder einer fast nackten Formularanwendung.
Nur so sieht man letztendlich den oder die Unterschied(e) bzw. Fehler zum eigentlichen Projekt und kann es beheben.

Diese Vorgehensweise will ich dir auch ans Herz legen, weil du dich oft schnell verzettelst.
Diese überlangen und sehr komplizierten Non-VCL-Quelltexte, mit denen du normalerweise hantierst, tragen natürlich dazu bei.

...verwende einen externen zusätzlichen Thread dann sehen wir ob es immer noch funktioniert was ich bezweifeln möchte.
Geht problemlos in einen anderen Thread-Context:

Delphi-Quellcode:
procedure TAudioThread.Execute;
begin
  inherited;
  CoInitializeEx(nil, COINIT_MULTITHREADED);
  try
    FAudioSessionNotification := TAudioSessionNotification.Create;
    FAudioComponent := TAudio.Create(FAudioSessionNotification, PrintText);
    try
      FAudioComponent.InitAudioComponents;
      while not Terminated do
      begin
        Sleep(1);
      end;
    finally
      FAudioComponent.Free;
    end;
  finally
    CoUninitialize;
  end;
end;

procedure TAudioThread.PrintText(const AText: string);
begin
  OutputDebugString(PChar(AText));
end;

function TAudioSessionNotification.OnSessionCreated(const NewSession: IAudioSessionControl): HRESULT;
var
  SessionControl2: IAudioSessionControl2;
  pRetVal: PWideChar;
begin
  if Supports(NewSession, IAudioSessionControl2, SessionControl2) then
  begin
    SessionControl2.GetSessionIdentifier(pRetVal);
    OutputDebugString(pRetVal);
    CoTaskMemFree(pRetVal);
  end;

  Result := S_OK;
end;
Siehe auch Anhang.
Angehängte Dateien
Dateityp: pas AudioVolume.Frm.pas (613 Bytes, 9x aufgerufen)
  Mit Zitat antworten Zitat
 


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 04:54 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