AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Daten aus Sounddatei auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Daten aus Sounddatei auslesen

Ein Thema von blablab · begonnen am 31. Jan 2007 · letzter Beitrag vom 2. Feb 2007
Antwort Antwort
Seite 2 von 3     12 3      
blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: Daten aus Sounddatei auslesen

  Alt 2. Feb 2007, 16:20
das problem ist, die hab ich ja drin...

beim befehl bass.BASS_StreamGetLength(stream) meckert er ja nur rum, dass er den befehl StreamGetLength nicht kennt. Bass kennt er...
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#12

Re: Daten aus Sounddatei auslesen

  Alt 2. Feb 2007, 16:22
Zitat von blablab:
das problem ist, die hab ich ja drin...

beim befehl bass.BASS_StreamGetLength(stream) meckert er ja nur rum, dass er den befehl StreamGetLength nicht kennt. Bass kennt er...
Abhängig von der Version möglich das der Befehl in der 1.8 zu finden ist.

gruss
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#13

Re: Daten aus Sounddatei auslesen

  Alt 2. Feb 2007, 16:23
In Version 2.1 gab es noch BASS_StreamGetLength, jetzt gibt es nur noch BASS_ChannelGetLength.
Nimm also BASS_ChannelGetLength.

Gruss
Thorsten
  Mit Zitat antworten Zitat
blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: Daten aus Sounddatei auslesen

  Alt 2. Feb 2007, 16:33
danke!

weißt du vielleicht noch, in welcher Unit TWaveData deklariert ist???
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#15

Re: Daten aus Sounddatei auslesen

  Alt 2. Feb 2007, 17:40
Das kannst du selber deklarieren...

Delphi-Quellcode:
type
  TBassWaveDataDWORD = array[0..2048] of DWORD;
  TBassWaveDataSMALLINT = array[0..2048] of smallint;
  TBassWaveDataLong = array[0..8192] of smallint;
kommt eben darauf an, was du für Daten erhalten möchtest bzw. mit welchen Datentypen du weiterarbeiten möchtest.
ggf. musst du noch den dritten Parameter von BASS_ChannelGetData deinen Bedürfnissen anpassen.

Gruss
Thorsten
  Mit Zitat antworten Zitat
blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#16

Re: Daten aus Sounddatei auslesen

  Alt 2. Feb 2007, 19:28
Also ich mach das bis jetzt so:

Delphi-Quellcode:
   if not BASS_Init(-1,44100,0,Application.Handle,nil) then
      ShowMessage('Can''t initialize device');

   chan := BASS_StreamCreateFile(FALSE, PChar(filename),0,0,0);
   for len := 0 to Ceil(bass.BASS_ChannelGetLength(chan) / WaveDataLength) do begin
      BASS_ChannelSetPosition(chan, len*WaveDataLength);
      BASS_ChannelGetData(chan, @WaveData, WaveDataLength);
      for i := 0 to WaveDataLength-1 do
         ShowMessage(IntToStr(WaveData[i]));
   end;
aber WaveData[i] ist immer 0!!!
(für WaveData hab ich einen array[0..WaveDataLength] of SmallInt genommen)

Was mach ich nur falsch???


Edit:
Kann ich für WaveData auch einen array of ShortInt nehmen?
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#17

Re: Daten aus Sounddatei auslesen

  Alt 2. Feb 2007, 19:31
Die Auswertung geht nur, wenn der Channel auch abgespielt wird oder BASS_STREAM_DECODE/BASS_MUSIC_DECODE als Flag gesetzt wird...

Delphi-Quellcode:
  Channel := BASS_StreamCreateFile(false, PChar(filename), 0, 0, BASS_STREAM_DECODE);
  if (Channel = 0) then
    Channel := BASS_MusicLoad(false, PChar(filename), 0, 0, BASS_MUSIC_DECODE, 0);
Siehe auch hier.

Gruss
Thorsten
  Mit Zitat antworten Zitat
blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#18

Re: Daten aus Sounddatei auslesen

  Alt 2. Feb 2007, 22:11
Danke Thorsten, du kennst dich echt perfekt aus!!!

Jetzt funktionert das ganze eigentlich einwandfrei!!!
Aber dann ist da noch ein weiteres Problem aufgetreten: Auf einem alten Rechner (für den das ganze eigentlich gedacht ist) läuft das nicht mehr. Der kann die Bass.dll nicht initialisieren und dann kann er die Datei natürlich auch nicht öffnen.

Ich denk das liegt entweder daran, dass der Rechner irgendwelche Codecs nicht hat (Windows 98)oder weil er keine Soundkarte hat...

Nur ich weiß nicht, was ich dagegen machen kann.

Fällt dir oder jemand anderem dazu noch etwas ein???
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#19

Re: Daten aus Sounddatei auslesen

  Alt 2. Feb 2007, 22:15
Zitat von blablab:
Ich denk das liegt entweder daran, dass der Rechner irgendwelche Codecs nicht hat (Windows 98)oder weil er keine Soundkarte hat...
Das funktioniert auch wunderbar unter Windows98, aber eine Soundkarte muss das System natürlich haben!
Wie soll man den sonst irgendetwas mit Sounds machen?

Verwirrte Grüsse
Thorsten
  Mit Zitat antworten Zitat
blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#20

Re: Daten aus Sounddatei auslesen

  Alt 2. Feb 2007, 22:24
Ja, ich weiß, ist etwas widersprüchlich...
Aber ich will ja nur eine mp3 öffnen, ich will sie ja nicht abspielen.
eigentlich ist das ja kein problem...
Aber wahrscheinlich prüft er erst, ob ich ne soundkarte hab. Und wenn ich keine hab dann verweigert er mir auch das öffnen von dateien, auch wenns eigentlich möglich wäre, oder?

Bedeutet das, mit der bass.dll hab ich keine chance dateien auszulesen ohne eine soundkarte...?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 07:58 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