Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Winamp Peaks auslesen ? (https://www.delphipraxis.net/134050-winamp-peaks-auslesen.html)

Blamaster 14. Mai 2009 21:38


Winamp Peaks auslesen ?
 
Hi,

ich suche eine Möglichkeit in meinem Delphi Programm die Peak Daten von Winamp übermittelt zu bekommen.

Kennt da jemand eine Lösung ?

(Mit Peak meine ich die "Lautstärke daten" mit denen man einen Balken der bei einem Basschlag ausschlägt erstellen kann)

Ich hoffe auf Hilfe :)

mfg Blamaster

Medium 14. Mai 2009 22:32

Re: Winamp Peaks auslesen ?
 
Ich wüsste nicht dass man sich direkt Daten von Winamp abholen könnte, aber du könntest ein "Brücken"-PlugIn schreiben, welches dann in Winamp als Visualisierung laufen gelassen werden muss - diese bekommen nämlich Waveform und FFT Daten in schönen Arrays geliefert. Mittels IPC könntest du diese dann an dein eigentliches Programm weiterreichen.

Der einfachste Ansatz wäre es dann die Waveform für die Lautstärke zu benutzen. Das wäre eine technisch korrekte Anzeige. Richtig nobel wäre natürlich eine Anzeige die dem menschlichen Hörempfinden Rechnung trägt, wozu man das Maximum der mit einem Bewertungsfilter gewichteten FFT Daten hernehmen könnte. Das aber nur als Spinnerei am Rande ;)

Blamaster 15. Mai 2009 10:17

Re: Winamp Peaks auslesen ?
 
Hi,

Vielen Dank schonmal.

IPC sagt mir leider mehr oder minder garnichts. Google führte auch nicht zu einer verstädnlichen Erklärung. Kann das ggf. einer etwas näher erläutern ?

mfg Blamaster

Medium 15. Mai 2009 10:45

Re: Winamp Peaks auslesen ?
 
IPC = Inter-Process Communication. Das umfasst eine Palette an Techniken mit Hilfe derer ein Prozess mit einem anderen Werte austauschen kann. Unter Windows zählen hierzu u.a. Messages, Named Pipes, Mail-Slots und Memory Mapped Files. Zu letzterem würde ich in diesem Fall greifen.

Blamaster 15. Mai 2009 13:01

Re: Winamp Peaks auslesen ?
 
Hi,

ich habe mir gerade überlegt das es für mein Vorhaben evtl. doch schlauer ist die Bass.dll zu nutzen um somit nicht abhängig von einem bestimmten Mediaplayer zu sein.

Verwenden würde ich dazu gerne den BassPlayer.

Dieser bietet die Funktion:

.StartRecording(Input: integer; filename:string)

Meine Frage ist nun gibt es eine Möglichkeit eine "simulierte" Aufnahme zu erzeugen, so das keine Reale Datei erstellt wird. Und ist es dann darüber möglich die aktuellen Peak zu bekommen ?`


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:06 Uhr.

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