AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Visualisierungsfehler
Thema durchsuchen
Ansicht
Themen-Optionen

Visualisierungsfehler

Ein Thema von Peter.K · begonnen am 4. Jan 2007 · letzter Beitrag vom 5. Jan 2007
Antwort Antwort
Peter.K

Registriert seit: 24. Dez 2005
53 Beiträge
 
#1

Visualisierungsfehler

  Alt 4. Jan 2007, 12:35
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='ClubNationthen
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='SoundOnethen
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 Unitythen
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='ClubNationthen Channel := THandle(BASS_StreamCreateURL(PChar('http://81.169.184.56:1045'), 0, BASS_STREAM_STATUS, @StatusProc, 0));
if form1.Label7.Caption='SoundOnethen Channel := THandle(BASS_StreamCreateURL(PChar('http://81.169.184.56:8080'), 0, BASS_STREAM_STATUS, @StatusProc, 0));
if form1.Label7.Caption='Rock Unitythen 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.
Angehängte Dateien
Dateityp: rar player_777.rar (535,2 KB, 27x aufgerufen)
  Mit Zitat antworten Zitat
Peter.K

Registriert seit: 24. Dez 2005
53 Beiträge
 
#2

Re: Visualisierungsfehler

  Alt 5. Jan 2007, 12:40
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.
  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 22:44 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