AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Bass_ChannelGetData funktioniert liefert keine Daten
Thema durchsuchen
Ansicht
Themen-Optionen

Bass_ChannelGetData funktioniert liefert keine Daten

Ein Thema von Neutral General · begonnen am 8. Dez 2009 · letzter Beitrag vom 9. Dez 2009
Antwort Antwort
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Bass_ChannelGetData funktioniert liefert keine Daten

  Alt 8. Dez 2009, 21:45
Hallo,

Ich habe gerade ein ziemlich einfachen Code, der trotzdem nicht klappt. Oder vielleicht genau deswegen

Delphi-Quellcode:
var
  samp: HSAMPLE;
  chan: HCHANNEL;

procedure TForm1.FormCreate(Sender: TObject);
begin
  BASS_Init(-1,44100,0,Handle,nil);
end;

procedure TForm1.Button1Click(Sender: TObject);
var AFile: PAnsiChar;
begin
  AFile := 'C:\Test.mp3';
  samp := BASS_SampleLoad(false,AFile,0,0,3,0);
  chan := BASS_SampleGetChannel(samp,true);
  BASS_ChannelPlay(chan,false);
end;

procedure TForm1.Button2Click(Sender: TObject);
var X: Array[0..2047] of DWORD;
begin
  FillChar(X[0],Length(X)*SizeOf(DWORD),0);
  BASS_ChannelGetData(chan, @X[0], 2048);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  BASS_SampleFree(samp);
  BASS_Free;
end;
Also die MP3 wird abgespielt aber mein Array "X" ist nach BASS_ChannelGetData immernoch leer... Weiß nicht was daran falsch sein soll

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#2

Re: Bass_ChannelGetData funktioniert liefert keine Daten

  Alt 9. Dez 2009, 09:57
Meine Deklaration sieht so aus:

Delphi-Quellcode:
type
TFFTArray = array[0..127] of Single;

function TMediaClass.GetFFTData: TFFTArray;
var
  fft      : TFFTArray; // get the FFT data
  i: Integer;
const
  BANDS      = 28;
  SPECHEIGHT = 25;
  SPECWIDTH = 100;
begin
  if BASS_ChannelIsActive(fCurrentStream) <> BASS_ACTIVE_STOPPED then
  begin
    BASS_ChannelGetData(fCurrentStream, @fft, BASS_DATA_FFT256);
    Result := fft;
  end
  else
    for I := 0 to Length(fft) - 1 do
      fft[i] := 0.1;
end;
Ansonsten prüf mal den Rückgabewert von BASS_ChannelGetData. Wenn der -1 ist, solltest du mal gucken, was BASS_ErrorGetCode zurückwirft.
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: Bass_ChannelGetData funktioniert liefert keine Daten

  Alt 9. Dez 2009, 10:54
Hi,

Es wäre ja interessant zu wissen, ob fCurrentStream bei dir ein HSAMPLE oder ein HSTREAM ist. Das würde evtl. auch noch einiges erklären. Aber wenn das nur mit HSTREAMS geht, wie lade ich dann am besten ein Lied?
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#4

Re: Bass_ChannelGetData funktioniert liefert keine Daten

  Alt 9. Dez 2009, 12:31
Zitat von Neutral General:
Aber wenn das nur mit HSTREAMS geht, wie lade ich dann am besten ein Lied?
Über BASS_StreamCreateFile.

//Edit: Siehe auch Sourcen von SmallTune, konkret die Datei dgstMediaClass.pas
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:31 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