Autor |
Beitrag |
Bergmann89
      
Beiträge: 1742
Erhaltene Danke: 72
Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
|
Verfasst: Do 23.04.09 10:33
HI,
ich bin grad dabei ein Lied auf bestimmte Töne zu untersuchen. Dazu zeichne ich mir mit der bass.dll und der bass_fx.dll das Spektrum und les dann einfach die Werte aus die ich brauch. Das geht aber nur solange das Lied abgespielt wird.
Gibts auch ne Möglichkeit die Werte zu bekommen ohne dass das Lieb abgespielt wird? Ich hab das schon so versucht aber das geht net:
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| Pos := Pos + 100; BASS_ChannelSetPosition(Channel,Pos); BASS_ChannelPlay(Channel,False); BASS_ChannelGetData(Channel, @FFTData, BASS_DATA_FFT1024); BASS_ChannelGetData(Channel, @WaveData, 2048); BASS_ChannelPause(Channel); | Kann man das so machen? oder muss ich da anders ran gehen?
MfG & Thx Bergmann.
_________________ Ich weiß nicht viel, lern aber dafür umso schneller^^
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Do 23.04.09 11:10
Schau dir mal in der Bass-Hilfe die Flags bei BASS_StreamCreateFile an. Da gibt es einen Decode-Flag BASS_STREAM_DECODE, mit dem du den Stream erzeugen kannst, ohne dass er wiedergegeben wird.
_________________ We are, we were and will not be.
|
|
Bergmann89 
      
Beiträge: 1742
Erhaltene Danke: 72
Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
|
Verfasst: Do 23.04.09 12:30
HI,
hab den Stream jetzt so angelegt:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| if not BASS_Init(-1,44100,0,Application.Handle,nil) then MessageDLG('Can''t initialize device',mtInformation,[mbOK],0);
Channel := BASS_StreamCreateFile(FALSE, PChar(FilePath+'sound.mp3'), 0, 0, BASS_STREAM_DECODE); |
Und wenn ich mir jetzt so die Daten hol, hab ich in dem Array nur 0en drin stehen?!
Delphi-Quelltext 1: 2: 3:
| Pos := Pos + 100; BASS_ChannelSetPosition(Channel,Pos); BASS_ChannelGetData(Channel, @FFTData, BASS_DATA_FFT1024); |
Hab ich da noch irgendwo n Fehler drin?
MfG Bergmann.
_________________ Ich weiß nicht viel, lern aber dafür umso schneller^^
|
|
Bergmann89 
      
Beiträge: 1742
Erhaltene Danke: 72
Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
|
Verfasst: So 17.05.09 16:57
Hey,
kann mir keiner helfen?
Ich hab jetzt auch ma versucht ob mein BASS_ChannelGetData(Channel, @FFTData, BASS_DATA_FFT1024); irgendwelche Fehler bringt aber es kommt kein Fehler. Mein FFTData is nur voll mit 0en und ich weiß net warum....
Wäre toll wenn jmd ne Lsg hat weil sonst kann ich net weiter arbeiten!
MfG & Thx Bergmann.
_________________ Ich weiß nicht viel, lern aber dafür umso schneller^^
|
|
|