Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Visualisierungsfehler (https://www.delphipraxis.net/83548-visualisierungsfehler.html)

Peter.K 4. Jan 2007 12:35


Visualisierungsfehler
 
Liste der Anhänge anzeigen (Anzahl: 1)
also ich habe mir hier einen kleinen Player zusammengebastelt und der sieht auch ganz doll aus wie ich finde und und funktioniert sehr gut nur sind da einige ziemlich komische bugs drinne die ich einfach nicht beseitigen kann.

Bugs:

Der Player nutzt viel zu viel systemspeicher das ist sehr unpraktisch wie ich finde.

Wenn man die Maus auserhalb des Players Bewegt dann fängt die visualisierung an zu Ruckeln...

ich wollt fragen woran das liegen kann? ich habe die Bass.dll benutzt und das nötige einfach den Beispielen des InternetRadios und die der Visualisierung Entnommen.

Hier ist der player dann könnt ihr euch das ma angucken.

Okey zum besseren verständnis hier ein bischen code:


Folgendes Passiert wenn ich zum Beispiel auf den Button Drücke der den Sender ClubNation aktiviert.

Delphi-Quellcode:
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
BASS_StreamFree(channel);
image1.Picture:=CNimage.Picture;
Label7.Caption:='ClubNation';
Style;
Play;
end;
Hier ist die Procedure mit dem namen Style, diese ist dafür verantwortlich das der Entsprechende Hintergrund für den Sender eingestellt wird.....diese Procedure regeln auch die Farbe für die Visualisierung.

Delphi-Quellcode:
Procedure Style;
begin
if form1.Label7.Caption='ClubNation' then
begin
CircleScope.SetBackGround(True, Form1.Image1.Picture.Graphic);
OcilloScope.SetBackGround(True, Form1.Image1.Picture.Graphic);
Spectrum.SetBackGround(True, Form1.Image1.Picture.Graphic);
CircleScope.Pen := $00BF893C;
OcilloScope.Pen := $00BF893C;
Spectrum.Pen := $00BF893C;
end;
if form1.Label7.Caption='SoundOne' then
begin
CircleScope.SetBackGround(True, Form1.Image1.Picture.Graphic);
OcilloScope.SetBackGround(True, Form1.Image1.Picture.Graphic);
Spectrum.SetBackGround(True, Form1.Image1.Picture.Graphic);
CircleScope.Pen := $003FB3F2;
OcilloScope.Pen := $003FB3F2;
Spectrum.Pen := $003FB3F2;
end;
if form1.Label7.Caption='Rock Unity' then
begin
CircleScope.SetBackGround(True, Form1.Image1.Picture.Graphic);
OcilloScope.SetBackGround(True, Form1.Image1.Picture.Graphic);
Spectrum.SetBackGround(True, Form1.Image1.Picture.Graphic);
CircleScope.Pen := $006BC39B;
OcilloScope.Pen := $006BC39B;
Spectrum.Pen := $006BC39B;
end;
end;
Play Procedure die den sender einstellt der abgespielt werden soll:

Delphi-Quellcode:
procedure Play;
begin
if form1.Label7.Caption='ClubNation' then Channel := THandle(BASS_StreamCreateURL(PChar('http://81.169.184.56:1045'), 0, BASS_STREAM_STATUS, @StatusProc, 0));
if form1.Label7.Caption='SoundOne' then Channel := THandle(BASS_StreamCreateURL(PChar('http://81.169.184.56:8080'), 0, BASS_STREAM_STATUS, @StatusProc, 0));
if form1.Label7.Caption='Rock Unity' then Channel := THandle(BASS_StreamCreateURL(PChar('http://81.169.184.56:7070'), 0, BASS_STREAM_STATUS, @StatusProc, 0));
BASS_ChannelPlay(Channel, False);
end;
und zu guter letzt, hier ist der Timer der die Visualisierung an die Want wirft:

Delphi-Quellcode:
procedure TForm1.TimerRenderTimer(Sender: TObject);
 var FFTFata : TFFTData; WaveData : TWaveData;
begin
 if BASS_ChannelIsActive(Channel) <> BASS_ACTIVE_PLAYING then Exit;
   begin
    BASS_ChannelGetData(Channel, @FFTFata, BASS_DATA_FFT1024);
    Spectrum.Draw (Form1.PaintFrame.Canvas.Handle, FFTFata, 40 - 40, 60 - 60);
   end;
end;

end.

Peter.K 5. Jan 2007 12:40

Re: Visualisierungsfehler
 
okey anscheinend kann mir wohl keiner helfen also dachte ich mir, selbst ist der Mensch und habe mich nochmals auf Fehlersuche begeben und habe den Fehler gefunden. Im Player war eine Funktion drinne die es erlaubt die Form Transparent zu machen (AlphaBlend) die musste ich ausbauen. Also AlphaBlend auf False dann war der Fehler behoben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:08 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