Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Peak vom Audioausgang (https://www.delphipraxis.net/152935-peak-vom-audioausgang.html)

Masteric 13. Jul 2010 15:13

Peak vom Audioausgang
 
Hi,
gibt es eine Möglichkeit den Peak des Audioausgangs eines Rechners zu bekommen, so ähnlich wie beim Bassdllplayer? Oder eben den Auschlag, den Win 7 bei den Audiogeräten angezeigt wird(Levelmeter am Mischpult)? Wenn das nicht geht wäre es auch okay, wenn man ihn vom Aufnahmeeingang einlesen kann, ich müsste halt nur an den Peak kommen, der von ITunes, WMP o.ä ausgegeben wird.

Gibt es da eine Möglichkeit, am besten nicht zu umständlich aber jede Lösung wäre okay.

Gruß Masteric

turboPASCAL 13. Jul 2010 19:41

AW: Peak vom Audioausgang
 
Liste der Anhänge anzeigen (Anzahl: 2)
Joa, es gibt da ein paar Möglichkeiten...

mit der Bass.dll, siehe in den Beispielen nach (livefx.dpr)

oder über die WinAPI per "Fuss" ;)


(irgend ein User aus der DP hat dies Demo erstellt.. wer, weis ich leider nicht mehr )

igel457 13. Jul 2010 20:03

AW: Peak vom Audioausgang
 
Unter Windows 7/Vista solltest du relativ einfach über die "Core Audio"-Schnittstelle an diese Daten herankommen. Leider ist für WASAPI kein Header für Pascal vorhanden - im Notfall einfach mit Microsoft Visual Studio C eine kleine Bibliothek schreiben, die das kann.

Hier sind die nötigen Sachen detailiert beschrieben: http://msdn.microsoft.com/en-us/libr...=VS.85%29.aspx

Masteric 14. Jul 2010 15:44

AW: Peak vom Audioausgang
 
hallo und danke für die tipps schon mal!
so habe mir nun die Vorschläge angeschaut und habe gesehen, dass es doch etwas komplizierter ist mit dem Programm, da dieses die frequenzen noch aufteilt. Nun habe ich mir auch den 2. Vorschlag angeschaut und bemerkt, dass es da etwas einfach zu sein scheint. Da gibt es auf der MSDN sogar einen Vorschlag für ein Levelmeter, nur da ich leider kein VS habe und noch weniger c kann, wodurch das erstellen einer dll noch schwieriger ist wollte ich fragen, ob mir jemand eine dll erstellen kann mit dem Bsp. hier: http://msdn.microsoft.com/en-us/libr...=VS.85%29.aspx und am besten so, dass der peak nicht gezeichnet wird sondern z.B. in einer funktion abgerufen werden kann. Wäre echt super, da ich mich mit c oder dem hier verwendeten c++ so gar nicht auskenne.

Gruß Masteric

lbccaleb 14. Jul 2010 16:50

AW: Peak vom Audioausgang
 
Du kannst da auch auf DirectShow zugreifen...

igel457 14. Jul 2010 17:58

AW: Peak vom Audioausgang
 
Zitat:

Zitat von lbccaleb (Beitrag 1035309)
Du kannst da auch auf DirectShow zugreifen...

Hm... Den Zusammenhang zwischen Core Audio und DirectShow verstehe ich jetzt nicht wirklich...

himitsu 14. Jul 2010 18:06

AW: Peak vom Audioausgang
 
Vermutlich meint er DirectSound oder gleich XAudio 2? (sind alles Teile von DirectX)

Masteric 14. Jul 2010 18:22

AW: Peak vom Audioausgang
 
Da hier nun neue begriffe im raum stehen, gibt es eine möglichkeit an die daten des levelmeters zu kommen? Am besten eine, die mir prozent oder einen wert ausgibt, mit dem ich die prozent ausrechnen kann? Vielleicht schon eine fertige dll?
Gruß Masteric

Masteric 14. Jul 2010 18:54

AW: Peak vom Audioausgang
 
Ich habe eben nochmal auf MSDN ein bisschen gestöbert und das hier LINK gefunden und denke mal, dass das das ist was ich suche, jedoch weiss ich nicht wie ich diese funktion implementieren soll, ohne den headder und da ich mir auch keine dll aus dem c++ code erstellen kann(wie gesagt, fehlende Software und knowhow) wollte ich fragen, ob diese funktion erstmal das ist was ich suche und ob es eine möglichkeit gibt sie in delphi zu implementieren...


gruß masteric

lbccaleb 14. Jul 2010 19:26

AW: Peak vom Audioausgang
 
Wie man das ganze mit DirectShow lösen kann wird HIER gezeigt. Allerdings ist das schon ne ganze Ecke komplizierter als noch mit purer DirectShow Unit oder DSPack zu programmieren.

Möchtest du jetzt angezeigt bekommen, wie der Pegel direkt am Ausgang ist oder wie er in Windows ist?

Wenn du zb einen Film in Windows auf volle Lautstärke abspielst, kannst du am Ausgang auch keinen Ausschlag haben, wenn in Windows der "Main-Pegel" auf null steht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:50 Uhr.
Seite 1 von 2  1 2      

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