Delphi-PRAXiS
Seite 4 von 5   « Erste     234 5      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   BassPlayerEx mit erweiterten Soundeffekten... (https://www.delphipraxis.net/65381-bassplayerex-mit-erweiterten-soundeffekten.html)

rollstuhlfahrer 29. Jan 2008 17:04

Re: BassPlayerEx mit erweiterten Soundeffekten...
 
der letzte Post ist schon etwas länger her.
Ich nutze den BassPlayerEx mit 2 Soundkarten.
Beim durchteten von meinem Programm ist mir aufgefallen, dass wenn ich den EQ munter ein und ausschalte (eq.Start; eq.Stop) die CPU-Anzeige jedes mal um ca. 0,9-1,1 % steigt. Was mir noch aufgefallen ist, ist dass sich die verschiedenen EQs überlagern.
Heißt soviel:
-> 1. EQ an
-> 2. EQ einstellen
-> 3. EQ aus

-> Schritte 1 bis 3 mehrmals wiederholen

-> Beobachtung:
Die EQs müssen sich überlagern, da dann die Lautsprecher bei dunklen Tönen stark kratzen, wass sie ohne EQ/ nur 1 mal angeschaltetem EQ nicht tun

rollstuhlfahrer

PS: mein Code sieht so aus:
Delphi-Quellcode:
if CheckBoxEQ.Checked then
begin
  Channel1.Equiliser.Start;
  Channel2.Equiliser.Start;
  EQChange(Sender);
end else
begin
  Channel1.Equiliser.Stop;
  Channel2.Equiliser.Stop;
end;
Und Fehler konnte ich in BassEquiliserU noch nicht finden

EDIT: Mal nen Screen zur veranschaulischung

omata 29. Jan 2008 18:37

Re: BassPlayerEx mit erweiterten Soundeffekten...
 
Hallo rollstuhlfahrer,

danke für den Hinweis. Ich habe die Archive schon korrigiert.

Da kannst das Problem auch schnell selber lösen, indem du in der Datei BassEquiliserU.pas folgende Methode veränderst...
Delphi-Quellcode:
procedure TBassEquiliser.Stop;
var i:integer;
    Band:TBassEquiliserBand;
begin
  for i:=1 to length(_Band) do begin
    Band:=_Band[i-1];
    Band.par.fGain:=0;
    Update(Band);
  end;
  _Enabled:=false;
  ClearAllBand; // <-- diese Zeile hinzufügen
end;
Gruss
Thorsten

rollstuhlfahrer 3. Feb 2008 21:33

Re: BassPlayerEx - EQ
 
noch was wichtiges zum ändern:

wenn man 2 Mal (auch aus versehen) Channelx.Equisiler.Start aufruft, wird dieser auch tatsächlich 2 mal gestartet. Das hat zur folge, dass die Töne kratzen, obwohl der Rechner und die Festplatte schnell genug sind. Folgende Code-Änderunges kann man dann durchführen:

Delphi-Quellcode:
procedure TBassEquiliser.Start;
begin
  if not _Enabled then // <--
  begin                // <--
    _Enabled:=true;
    Init;
  end;                 // <--
end;

procedure TBassEquiliser.Stop;
var i:integer;
    Band:TBassEquiliserBand;
begin
  if _Enabled then // <--
  begin            // <--
    for i:=1 to length(_Band) do begin
      Band:=_Band[i-1];
      Band.par.fGain:=0;
      Update(Band);
    end;
    _Enabled:=false;
    ClearAllBand;
  end;            // <--
end;
rollstuhlfahrer

100nF 7. Mär 2008 20:06

Re: BassPlayerEx mit erweiterten Soundeffekten...
 
hallo,

wollte jetzt bei einem neuen projekt die bassplayer-komponente verwenden.
nun blick ich da aber irgendwie voll nicht durch...
also einen Track abspielen ist kein problem, das hab ich shcon hingekriegt. habe leider beim letzten programm mit dieser komponente auch ein bisschen "gebastelt"^^ dieses mal will ichs aber ein wenig"professioneller" machen, und möglicht viel die internen funktioonen von der komponente nutzen usw.

eine kleine hilfedatei oder sowas hast du nicht oder?
wäre eben gut zu wissen was z.B. jede einzelne unit und/oder klassen machen, ich weiss z.B. nicht was mir die "FrameSoundKarteU" bringt. ausserdem mach ichs jetzt so, dass ich eifach ein TBassPlayer erzeuge und zwei Channels hinzufüge, und dann führe ich jede eintzelne funktion immer direkt vom Channel aus und den TBassPlayer brauch ich für rein gar nix mehr. Jetzt weiss ich nicht ob das normal ist, oder ob man den TBassPlayer auch verwenden sollte um z.B. irgendwelche werte zu setzen oder auszulesen.
sorry ist irgendwie voll kompliziert geschrieben aber ist halb so schlimm wenn dus nicht verstehst :mrgreen:

also zu meinem programm:
es wird eine art jukebox, mit musikarchiv und verschiedene abspiellisten die geladen und gespeichert werden können. ausserdem will ich die fade-funktion nutzen, somit brauche ich wohl 2 channels. cd abspielen, Internet-Streams, ID3-informationen auslesen usw. sollen auch möglich sein über die komponente. eine visualisation brauch ich auch, und zwar eine die ausgewählt werden kann, also mit den DLL-Plugins.
hättest du vielleicht vorschläge wie ich da vorgehen soll?
z.B. soll ich die interne playlist von der komponente nutzen (gibt doch eine oder?), und soll ich lieder mit channel.loadfromlied oder mit loadfromfile abspielen? was bringt das loadfromlied für vorteile? und brauch ich eine TFrameSoundkarte?

sorry für die vielen fragen, aber ich hab keine lust nochmal einfach was zusammenzubasteln, ich wills dieses mal wirklich möglichst effizient machen.

wäre sehr dankbar für eine antwort!

EDIT: jetzt kommst du bestimmt mit "schau in die demo". hab ich shcon gemacht -> ich finde sie ist sehr kompliziert aufgebaut mit den vielen frames und so...ausserdem wird da verdammt viel code gebraucht, geht das nicht mit viel weniger?? ja ich hab einfach den überblick nicht bei der demo, und das ganze in ein anderes projekt zu übertragen gibt erstens viel zu viel arbeit und zweitens lern ich dann nix ausser Ctrl+C und Ctrl+V

EDIT2: eifach gesagt, ich versteh einfach den internen aufbau der komponente nicht!

Gruss
urbanbruhin

rollstuhlfahrer 8. Mär 2008 15:32

Re: BassPlayerEx mit erweiterten Soundeffekten...
 
HI urbanbruhin,
  • Ne Hilfe-Datei gibt es meines Wissens nicht
  • Ich brauche den TBassPlayer auch nur zum erstellen der Channels und zum setzten der globalen Ausgangslautstärke sowie für die PlugIns
  • CD abspielen: keine Ahnung
  • Id3-Tags gibts über Channel.Lied.xxx
  • interne playlist: fehlanzeige (was macht: loadnextlied??)
  • InternetStreams: Channel.LoadFromNetStream(...)
  • Fade geht über Channel.doFadeIn / Channel.doFadeOut Steuern (im sinne der Abfragen) oder grafiken musst du selbst machen
  • Visualisierungen gibts auch: BassPlayer.ShowVisControlForm siehe dazu meine erweiterung hier
  • Channel.LoadFromFile benötigt eine Datei und ruft Channel.LoadFromLied auf
  • Channel.LoadFromLied macht exakt das selbe wie Channel.LoadFromFile nur dass Channel.LoadFromLied den Typ TLied benötigt
  • TFrameSoundkarte wird nur im Demoprogramm verwendet (1. Zeile Tabs)

hoffe, ich konnte dir helfen

rollstuhlfahrer

100nF 8. Mär 2008 17:12

Re: BassPlayerEx mit erweiterten Soundeffekten...
 
Hallo rollstuhlfahrer,

Danke für deine Antwort, war sehr hilfreich!

was mich nun noch intressieren würde, warum es beim TBassPlayer eine globale lautstärke gibt, und bei jedem einzelnen channel ebenfalls eine volume?
soll ich am besten die eigenschaft volume bei den einzelnen channels gar nie setzen, sondern immer nur bei BassPlayer.volume?
wird dann die volume der einzelnen channels ebenfalls geändert oder wie muss ich das ganze verstehen?

EDIT: mit channel.lied bekommt man nur den Titel, den Interpret und die länge des tracks raus oder? und was ist channel.lied.bezeichnung? ich glaub, die informationen lese ich besser direkt über die MPEGAudio aus das geht warscheinlich schneller, und es sind dann auch informationen wie z.B. Album vorhanden.

Gruss
urbanbruhin

rollstuhlfahrer 9. Mär 2008 09:14

Re: BassPlayerEx mit erweiterten Soundeffekten...
 
Liste der Anhänge anzeigen (Anzahl: 1)
ich setze die Channel-lautstärke so gut wie nie (für was gibts normalisieren!!)
die globale Lautstärke könnte man mit WMP-Lautstärkeregler vergleichen. somit hast du insgesammt 4 Regler pro Channel :gruebel: (ja und?)

rollstuhlfahrer

PS: im anhang ein Screen (norm. heißt normalisieren)

100nF 9. Mär 2008 10:44

Re: BassPlayerEx mit erweiterten Soundeffekten...
 
okay, das ist jetzt glaub mehr oder weniger alles klar.

jetzt muss ich nur noch rausfinden wie ich die ID3-Tags am besten ermittle. mit den Jedi-Komponenten werden z.T. einige Tracks nicht erkanns, also es kommen keine Informationen raus, wo jedoch bei Channel.Lied.xx war rauskommt wenn ich mich nicht täusche. Jeder einzelne Track beim hinzufügen ins Archiv noch in den Channel laden dauert jedoch bestimmt sehr lange, darum würde ich dies lieber umgehen..naja mal schauen wie ich das mache.

Also dann mal danke für deine Hilfe!

mfg

rollstuhlfahrer 9. Mär 2008 19:35

Re: BassPlayerEx mit erweiterten Soundeffekten...
 
nimm doch die Id3Lib von Muetze1
Link: http://www.muetze1.de/?c=2&lang=ger

rollstuhlfahrer

EDIT: das mit dem laden geht auch einfacher
Delphi-Quellcode:
with TLied.Create(filename) do
begin
showmessage(Interpret + ' - ' + Titel);
Free;
end;

rollstuhlfahrer 13. Apr 2008 08:06

Re: BassPlayerEx mit erweiterten Soundeffekten...
 
HI,

ich meld mich mal wieder hier zu Wort.
Zum Thema Erweiterungen ist zu sagen, dass ich überhaupt nicht weiß, wie ich den BassPlayerEx dazu bring, WMA Dateien zu lesen. An der BassWMA.dll soll es nicht liegen. Welches Stückchen Code muss jetzt geändert werden, dass der Player auch WMA abspielt?

rollstuhlfahrer


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:33 Uhr.
Seite 4 von 5   « Erste     234 5      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz