Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Daten aus Sounddatei auslesen (https://www.delphipraxis.net/85511-daten-aus-sounddatei-auslesen.html)

blablab 31. Jan 2007 20:46


Daten aus Sounddatei auslesen
 
Hallo,

ich würde gerne die Daten aus einer Sounddatei auslesen. Am besten wäre es, wenn ich die Daten aus einer mp3-Datei lesen könnte, aber hauptsache ist erstmal, dass ich die Daten aus irgendeinem Format auslesen kann.
Letztendlich muss doch in so einer Datei drin stehn, was für Signale an den Lautsprecher gehen. Da muss doch irgendwie drin stehen, wie viel Volt zu welcher Zeit an den Lautsprecher angeschlossen werden.
Und genau das würde ich gerne auslesen.
(Bei einer Stereo-Datei ist die Hauptsache, dass ich einen Kanal auslesen kann.)

Im Prinzip muss es so doch so funktionieren wie das der Nero-WaveEditor macht. Der zeigt ja am Schluss auch ein Bild an, das aus einer Linie besteht und dazu muss er ja auch irgendwie die Daten aus ner Sounddatei auslesen.
Die Frage ist nur wie man das macht...

Kann mir da jemand weiterhelfen???

Danke schonmal!
Simon

omata 31. Jan 2007 20:50

Re: Daten aus Sounddatei auslesen
 
Willst du das alles selber machen? Alternative wäre z.B. die bass.dll zu benutzen.

Gruss
Thorsten

blablab 31. Jan 2007 20:55

Re: Daten aus Sounddatei auslesen
 
nein, ich suche ja gerade nach sowas wie der bass.dll!
(ich bin gerade auch auf die gestoßen und hab die dll runtergeladen)

Nur kann mir da jemand erklären wie das damit geht?
gibts da sowas wie n soundStream oder so???

omata 31. Jan 2007 20:57

Re: Daten aus Sounddatei auslesen
 
Schau dir mal die Beispiele an...

blablab 31. Jan 2007 21:01

Re: Daten aus Sounddatei auslesen
 
ich hab keine Besipiele...
ich hab nur die Bass.dll und Bass.pas gefunden :)
hast du mir da die offizielle homepage oder so??? :stupid:

omata 31. Jan 2007 21:03

Re: Daten aus Sounddatei auslesen
 
Hast du mal hier geschaut?

blablab 31. Jan 2007 21:06

Re: Daten aus Sounddatei auslesen
 
Danke!
und herzlichen Glückwunsch zum 1000 Beitrag :-D

Dann werd ich mich mal n bisschen dahintersetzen...

blablab 1. Feb 2007 20:39

Re: Daten aus Sounddatei auslesen
 
ehrlich gesagt blick ich es immer noch nicht.
ich hab mir da mal die beispiele angeschaut und auch eines gefunden, welches eine sounddatei als linie zeichnet. das problem ist nur, dass dieses Beispiel nicht alle daten aus der sounddatei ausliest, sondern natürlich nur für jeden Pixel, der zu zeichnen ist. Ich würde aber gerne alle Daten aus der Datei auslesen.

Und das Problem ist, ich komm da nicht weiter. Ich finde keine Hilfe zur Bass.dll und weiß au net wie ich mir da selbst weiterhelfen soll. Allein vom Programmtext komm ich net wirklich weiter, weil ich kaum was versteh...

Kann mir jemand helfen und sagen wie ich das mach?
Oder weiß jemand, wo ich eine Hilfe zu der Bass.dll finde???
(Wobei mir ne konkrete Hilfe natürlich lieber wär, da ich gar net weiß, wie ich das Problem angehen soll...)

blablab 2. Feb 2007 17:10

Re: Daten aus Sounddatei auslesen
 
Ich hab inzwischen folgenden Thread gefunden.

Und ich vermute mal, dass man mit diesem Code

Delphi-Quellcode:
function TForm1.GeneratePeaks(height,width:integer;stream:HStream):TBitmap;
var i,len,r,l,ypos,xpos:integer;
var WaveData : TWaveData;
begin
  result := TBitmap.Create;
  result.Height := height;
  result.Width := width;
  for len := 0 to bass.BASS_StreamGetLength(stream) do
  begin
    BASS_ChannelSetPosition(stream,len);
    BASS_ChannelGetData(stream, @WaveData, 2048);
    for i := 0 to 255 do
    begin
       R := SmallInt(Loword(WaveData[i * 1]));
       L := SmallInt(HIword(WaveData[i * 1]));
       YPos := Trunc(((R + L) / (2 * 65535)) * 1);
       xpos := trunc(len * (width / (BASS_StreamGetLength(stream))));
       result.Canvas.LineTo(xpos,ypos-10);
    end;
  end;
end;
alle Daten aus einer Sounddatei auslesen kann.

Dummerweise treten bei mir aber ein Paar fehler auf:
Undefinierter Bezeichner: BASS_StreamGetLength
Undefinierter Bezeichner: TWaveData
Undefinierter Bezeichner: BASS_StreamGetPosition

Was muss ich denn hier einbinden, damit es funktioniert???

EWeiss 2. Feb 2007 17:15

Re: Daten aus Sounddatei auslesen
 
Zitat:

Zitat von blablab
Ich hab inzwischen folgenden Thread gefunden.

Und ich vermute mal, dass man mit diesem Code

Delphi-Quellcode:
function TForm1.GeneratePeaks(height,width:integer;stream:HStream):TBitmap;
var i,len,r,l,ypos,xpos:integer;
var WaveData : TWaveData;
begin
  result := TBitmap.Create;
  result.Height := height;
  result.Width := width;
  for len := 0 to bass.BASS_StreamGetLength(stream) do
  begin
    BASS_ChannelSetPosition(stream,len);
    BASS_ChannelGetData(stream, @WaveData, 2048);
    for i := 0 to 255 do
    begin
       R := SmallInt(Loword(WaveData[i * 1]));
       L := SmallInt(HIword(WaveData[i * 1]));
       YPos := Trunc(((R + L) / (2 * 65535)) * 1);
       xpos := trunc(len * (width / (BASS_StreamGetLength(stream))));
       result.Canvas.LineTo(xpos,ypos-10);
    end;
  end;
end;
alle Daten aus einer Sounddatei auslesen kann.

Dummerweise treten bei mir aber ein Paar fehler auf:
Undefinierter Bezeichner: BASS_StreamGetLength
Undefinierter Bezeichner: TWaveData
Undefinierter Bezeichner: BASS_StreamGetPosition

Was muss ich denn hier einbinden, damit es funktioniert???

heheheee die Bass.dll (Unit davon) natürlich.

EDIT:
google mal nach winmm oder msacm32 diese sind für die ausgabe einer Wave-Datei verwendbar

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:30 Uhr.
Seite 1 von 3  1 23      

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