![]() |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
Zitat:
wenn ich dich richtig verstanden habe, übernimmst du das mit dem speichern und laden? oder soll ich mal versuchen das selber in die hand zu nehmen? ich muss allerdings sagen dass ich noch nie komponenten abgeändert und erst recht nicht erstellt habe... Ich habe noch 2 kleine fragen: 1. Ist es möglich, über deine komponente Track-Informationen auszulesen? Wenn nicht mach ich es mit einer TJvID3v1 oder TJvID3v2. 2. kann ich folgende prozedur "verschnellern"?
Delphi-Quellcode:
wenn ich die 4 zeilen, die sehr langsam sind, durch "Zeit := ''" ersetze, geht die ganze prozedur viel schneller vor sich.
procedure TForm1.TrackZumArchivHinzufuegen(Filename, Titel, Interpret, Album, Musikstil, Bewertung: String; Abgespielt: Integer; Hinzugefuegt: TDate; ueberschreiben: boolean);
var Litem: TListitem; aTitel, aInterpret, aAlbum, aMusikstil, Zeit: String; i: integer; begin if not fileexists(Filename) then exit; i := trackindex(filename); // unwichtig if (i <> -1) and (ueberschreiben = false) then exit; // das auch TrackInformationen(Filename, aTitel, aInterpret, aAlbum, aMusikstil); // Diese Prozedur ist etwas langsam, ist aber nicht schlimm, kann man so lassen if Titel = '-Default-' then Titel := aTitel; if Interpret = '-Default-' then Interpret := aInterpret; if Album = '-Default-' then Album := aAlbum; if Musikstil = '-Default-' then Musikstil := aMusikstil; if Bewertung = '-Default-' then Bewertung := ''; if Abgespielt = -1 then Abgespielt := 0; if Hinzugefuegt = 00-00-0000 then Hinzugefuegt := Tdate(now); ChannelC.LoadFromFile(Filename); // Diese 4... ChannelC.Volume := 0; // ...Zeilen dauern... zeit := channelc.songtimeinfo[SongTimeLength].asSecString; // ...ziemlich lange, channelc.Stop; // Das sollte viel schneller gehen if i = -1 then // Ab hier wieder unwichtig begin Litem := Listview1.Items.Add; Litem.Caption := Titel; Litem.SubItems.add(Interpret); Litem.SubItems.add(Album); Litem.SubItems.add(Musikstil); Litem.SubItems.add(Zeit); Litem.SubItems.add(inttostr(Abgespielt)); Litem.SubItems.add(Bewertung); Litem.SubItems.add(datetostr(Hinzugefuegt)); Litem.SubItems.add(Filename); end else begin Litem := listview1.Items.Item[i]; Litem.Caption := Titel; Litem.SubItems.Strings[0] := Interpret; Litem.SubItems.Strings[1] := Album; Litem.SubItems.Strings[2] := Musikstil; Litem.SubItems.Strings[3] := Zeit; Litem.SubItems.Strings[4] := inttostr(Abgespielt); Litem.SubItems.Strings[5] := Bewertung; Litem.SubItems.Strings[6] := datetostr(Hinzugefuegt); Litem.SubItems.Strings[7] := Filename; end; end; wenn die prozedur so 5000 mal hintereinander ausgeführt werden, geht das sehr lange. wenn ich das mit dem zeit := ... weglasse, dauerts nur noch ein bruchteil von der zeit. Also Meine Frage: kann man die track-spielzeit auch anders ermitteln, ohne dass das so lange dauert? gruss urbanbruhin |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
Hallo,
es gibt mal wieder was neues... Nachdem ![]() Die Neue Version kann jetzt also auch Fading zwischen einzelnen Channels, das funktioniert manuell aber auch automatisch. Der eigentliche Anfang und das Ende eines Liedes werden ermittelt und auch grafisch dargestellt. Das heisst jetzt wird das Wavesignal auch angezeigt. Zusätzlich habe ich noch eine Normalisierung eingebaut, so dass leise Lieder im Pegel angehoben werden und somit alle Lieder gleich laut ausgegeben werden. Die Playlist ist nur ein schneller Versuch, damit man das automatische Fading komfortabel testen kann. Die Playlist wird nur automatisch beim Fading benutzt, um also loslegen zu können müssen mindestens zwei Channels mit Liedern geladen werden. Und dieses erste Laden muss man zur zeit noch manuell machen. Hoffe es gefällt, viele Grüsse Thorsten @urbanbruhin: das solltest du über die Tags in der Datei ermitteln und nicht über die Bass.dll. Wenn du dich noch etwas gedulden kannst, habe gerade in der neuen Version eine Unit MPGTools drin, die genau das macht, allerdings wird das noch nicht benutzt. Edit: Anhang gelöscht. |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
:thumb: Wenn das jetzt auch noch ein Editor wird. :roteyes:
//Edit: Bei der Playlist wäre ein Multiselect im Öffnendialog eine nette Idee. |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
hi,
ich habe gerade in der BassPlayerU.pas diese stelle entdeckt:
Delphi-Quellcode:
das heisst doch, dass man den bassplayer installieren kann, dass er in der komponentenpalette vorhanden ist?
procedure register;
begin RegisterComponents('Eigenes', [TBassPlayer]); end; wie kann man denn diese komponente bei Delphi 2005 installieren? ich habe mir die "BassDllPlayerEx v2[1].4" mal angeschaut. das hier sollten die neuen funktionen sein denke ich:
Delphi-Quellcode:
kannst du diese begriffe mal kurz erklären?
channel.IsFadingOk
channel.doFadingOut channel.doFadingIn channel.FadeTime channel.FadeAuto channel.FadeStop channel.IsFadeOutPosition und noch eine frage: vorher hatte ich den player so erzeugt;
Delphi-Quellcode:
nun ist da noch das "GetLiedEvent" hinzugekommen. Für was ist denn das? und wie muss ich den player jetzt createn?
Player:=TBassPlayer.Create(1, Self);
danke für deine mühe urbanbruhin |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
Hallo urbanbruhin,
Zitat:
Diese Komponente steht nicht als Visuellekomponente zur Verfügung. Zitat:
Zitat:
Delphi-Quellcode:
ist true, wenn ein Fading auf diesem Channel durchgeführt werden darf.
channel.IsFadingOk
Dies ist der Fall, wenn die Datei im Channel komplett geladen und analysiert ist (Start- und Endpunkt ermittelt wurde) und wenn gerade kein Fading stattfindet.
Delphi-Quellcode:
Führt das Ausblenden des Channel durch. Volume geht von der aktuellen Einstellung auf 0. Ausblendzeit = Fadetime * 1.5
channel.doFadingOut
Delphi-Quellcode:
Führt das Einblenden des Channel durch. Volume geht von 0 auf aktuelle Einstellung. Einblendzeit = Fadetime
channel.doFadingIn
Delphi-Quellcode:
Hier kann man die Ein- und Ausblendzeit beeinflussen. (in Sekunden, Voreinstellung = 2)
channel.FadeTime
Delphi-Quellcode:
Hiermit legt man fest, ob ein automatisches Fading stattfinden soll.
channel.FadeAuto
Delphi-Quellcode:
Fadestop legt fest, ob nach dem Fading der Channel auf Stop oder Pause gehen soll. Im Beispiel geht er bei manuellem Fading auf Pause und bei automatischem Fading auf Stop. (Bei Pause wird an der aktuell gestoppen Stelle bei einem erneuten Fading weiter gespielt)
channel.FadeStop
Delphi-Quellcode:
ist true, wenn die aktuell ermittelte Stelle zum Ausblenden erreicht oder überschritten wurde.
channel.IsFadeOutPosition
Zitat:
GetLiedEvent wird ausgelöst, wenn ein Channel ein neues Lied haben möchte. Hoffe das hilft dir weiter... MfG Thorsten |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
hallo omata,
vielen dank für deine Antwort :angel: ich denke damit komm ich jetzt klar. THX :bounce1: Gruss urbanbruhin |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
|
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
Soweit ich weiß, basiert die Komponente auf Bass ver 2.1
Könnte man sie auf bass2.2 updaten, sodass deren neue pluginschnittstelle für die bass_wma, bass_cd und bass_ac3.dll verfügbar ist? Würde nämlich auch gerne cds, ac3s (und leider auch wmas) abspielen können. Zur Info: man kann nun mit 2.2 auch plugins definieren, sodass die Erweiterungen nicht mehr einzeln verwendet werden müssen, sondern die bass.dll nutzt sie automatisch; falls erforderlich. |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
@omata Welche Fehler hast du bei der KOmmunikation mit der bass.dll behoben? (Bezüglich der ersten Version)
|
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
@Der_Ventilator:
Die neuste Version arbeitet mit der Bass-Version 2.2. Es kann allerdings sein, dass ich noch nicht alle Funktionen durchgeleitet habe. Zur zeit wird nur die bass_fx miteingebunden. @Gandalfus: Welche Versionen meinst du nun genau? Deine, die von turboPASCAL oder meine 1. Version. Vielleicht kannst du mir da nochmal auf die Sprünge helfen. MfG Thorsten |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
Die von Turbopascal.
Der SourceCode ist mir zu gross und mich interessieren eigendlich nur die Sachen mit der bass.dll |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
Hallo Gandalfus,
also an Fehler kann ich mich jetzt eigentlich nicht mehr erinnern. Es ging mir auch eher darum, die Begrenzungen die einem die Komponente von turboPASCAL auferlegte zu beseitigen. Also mehr als eine Komponente in einem Programm (mehr Soundkarten) und in einer Komponente mehr als einen Channel zuzulassen. Das sind die entscheidenen Änderungen. MfG Thorsten |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
|
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
Aus irgendeinem Grund kann ich "BassPlayer Demo (EXE)" nicht downloaden...Downoad hat gestartet, gestoppt und wollte sich nicht mehr starten lassen...Alle anderen hab ich problemlos wrunterladen können. Habt ihr das Problem auch? :gruebel:
|
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
Nö, das funktioniert alles ohne Probleme. :gruebel:
Lösche mal den Cache des Browsers.... |
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
ok jetzt gings...keine ahnung worans lag, am cache aber anscheinend auch nicht...
p.s.: Tolles Programm :thumb: |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
Zitat:
leider kann ich unter der angegebenen Url keinerlei Source finden. Kannst Du mir mal einen Link senden, damit ich mir den vielgelobten Player ansehen kann ? Vielen Dank. Mit freundlichen Grüßen Norbert |
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
hi,
kann man die tbassdllplayer komponenten auch unter delphi 7 installieren? bei mir haut das irgenwie nicht hin, jedesmal wenn ichs benutzen will bricht delphi mi ne fehlermeldung ab, "property seed" existieren nicht... gruss |
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
Hallo!
Hab mir die 10 Seiten mal durch gelesen und leider ist nicht einmal das Wörtchen 'wma' gefallen. Wie kann ich wma's damit abspielen? Hab ne basswma.dll gefunden aber ich blick da nicht nicht weiter durch! kann mir jemand helfen?? :gruebel: @xaeralx: Ich hab Delphi7 und hat koine Probs.. |
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
hi @all
habe da ein weiteres problem und zwar mit dem equalizer, die einstellungen werden zwar übernommen aber mit eine fehlermeldung "Es ist ein Fehler augetreten...." nach ne weile schmiert die software ab mit einem überlauf, das passiert aber nur bei stream, sprich wenn ich internet radio an habe, und die lautstärke reagiert garnicht, beim localen abspielen habe ich bis jetzt keine probleme gesehen...wird die bassdllplayer beim streamen anders behandelt als bei localen mp3's? Zitat:
|
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
Zitat:
Bei mir lief es wie geschmiert! |
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
problem ist es bei mir, ich bekomme es nicht mal kompilier, delphi meckert das nicht alle dateien vorhanden sind...
|
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
Zitat:
|
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
Hallo turbopascal,
kann es sein, dass man die Lautstärke beim Abspielen von Internet Streams nicht verändern kann? oder mache ich irgendetwas falsch mit deiner komponente? Wäre schade, wenn es nicht ginge.. Ansonsten seht gute Arbeit :thumb: edit: ich merke gerade, dass es prizipiell schon geht, wenn ich mein komplettes form mit einem anderen VoLume wert starte. aber leider funktioniert das verstellen des volume wertes nicht zur Laufzeit zB mit einem + und einem - Button. trotzdem noch komisch ist, dass wenn ich den player laufen lasse, dann stoppe, dann die Lautstärke ändere und dann zum schluss wieder starten will, dann hat er die Lautstärke nicht verändert. najo..wie gesagt, hab die Probleme nur mit Internet Streams :/ nkaaa |
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
Hi,
Zitat:
Zitat:
|
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
Delphi-Quellcode:
hi, danke schonmal, dass du dir Zeit genommen hast..
procedure TForm1.Button4Click(Sender: TObject); //zum Radio starten
begin bassdllplayer1.Volume:=LMDspinEdit1.Value; //zB Value = 50 (geht von 0 bis 100) bassdllplayer1.PlayNetStream('http://'+edit5.text); //zB [url]http://localhost:8000[/url] Bassdllplayer1.GetNetStreamInfo(memo1.lines); end; procedure TForm1.Button5Click(Sender: TObject); //zum Musik stoppen begin bassdllplayer1.UnloadChannel; memo1.clear; end; // und jetzt funktioniert bei mir folgendes nicht, wenn ich den InetStream höre: // die Lautstärke ändert sich nicht procedure TForm1.Button6Click(Sender: TObject); //lauter begin bassdllplayer1.Volume:=bassdllplayer1.Volume+10; end; procedure TForm1.Button7Click(Sender: TObject); //leiser begin bassdllplayer1.Volume:=bassdllplayer1.Volume-10; end; hoffe es ist jetzt ausreichend beschrieben nkaaa |
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
Liste der Anhänge anzeigen (Anzahl: 1)
Ha, jane kann ja auch nicht. Kleiner Bug in der Unit.
Ändere (ersetze) mal in der BassDLLPlayer.pas die folgenden Proceduren so:
Delphi-Quellcode:
PS.:
function TBassPlayer.GetVolume: Byte;
begin Result := 0; Case Modus of moStream, moSamples : Result := BASS_GetConfig(BASS_CONFIG_GVOL_STREAM); moMusik : Result := BASS_MusicGetAttribute(Channel, BASS_MUSIC_ATTRIB_VOL_CHAN); end; end; procedure TBassPlayer.SetVolume(Volume: Byte); var AnzChannels: integer; begin // Begrenzen auf 100 if Volume > 100 then Volume := 100; Case Modus of moSamples, moStream: begin BASS_SetConfig(BASS_CONFIG_GVOL_STREAM, Volume); end; moMusik: begin AnzChannels := 0; while (BASS_MusicSetAttribute(Channel, BASS_MUSIC_ATTRIB_VOL_CHAN + AnzChannels, 1) <> DWord(-1)) do begin BASS_MusicSetAttribute(Channel, BASS_MUSIC_ATTRIB_VOL_CHAN + AnzChannels, Volume); inc(AnzChannels); end; end; end; end; Anbei mal eine neue Version die die Bass.dll Version 2.3 unterstützt. In dieser Version wird das einbinden der Bass.Dll nicht unterstützt, das heisst die Bass.dll muss auf dem Rechner vorhanden sein bzw. mitgeliefert werden. |
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
hi funktioniert soweit super :thumb:
hätte nur noch eine frage: was unterscheidet die methoden "stop" und "unload channel"? nkaaa |
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
Zitat:
"UnloadChannel" - inst zum entladen/freigeben der Channels Im Normalfall brauchst du BassPlayer.UnloadChannel nicht aufrufen, das erledigt BassPlayer.Free. BassPlayer.UnloadChannel war mal für was ... k.A. :stupid: |
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
it's a greate work, but a problem is cannot load Bass's Add_ons to use, can anyone tell me how load the bass's add-ons like basswma.dll, basscd.dll or bass_ac3.dll with TBassDllPlayer? or no ways?
Greets! |
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
Hi,
The TBassDLLPlayer does not have an interface for Add ons. The ![]() Sorry, for my bad English. ;) |
TBassDLLPlayerEX
@turboPASCAL
thank you for you reply. i had get it! |
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
Ich möchte mich an dieser Stelle herzlich für diese wirklich geniale Komponente bedanken, sie wird ab sofort ihren Einsatz in meinen Projekten finden. Ich konnte auch keine Fehler finden. :thumb:
|
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
Hallo
Ich hab mir die Komponente runtergeladen und installiert (hab D7). Also wenn ich ein neues Projekt starte und die Komp auf 'ner Form platziere is alles ok...wenn ich jedoch versuche diese in ein vorhandenes Proj. einzufügen erhalte ich folgenden Fehler: 'Cannot start default rcording device' ..'ne Idee warum?? Danke! |
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
Passiert das Bei jedem vorhandenen Projekt. Evtl wird das Device ja von einer anderen Kompo exclusiv verwendet
|
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
Ja hatte auch davor ne Form mit ner TMediaPlayer drauf die ich aber rausgenommen vorher rausgenommen hatte...trotzdem kam die Meldung. Also hab ich die Form ganz weggelassen und ne neue eingefügt und jetzt klapp's auch...
Allerdings hab ich jetz 'n anderes Problem: hab den Player soweit das einzige was nicht zu stimmen scheint ist die Lautstärke. Obwohl property auf 100 is sehe ich trotzdem nur 10 max beim Ausführen (habe mir dabei einfach ne progresbar eingebaut mit nem label wie bei der Demo)... Danke! |
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
Kann BassDLLPlayer nicht kompilieren
hängt in folgender zeile Self.Name := BassChannel.Name; Delphi 6 Enterprise möchte es gerne zum debuggen benutzen um BassVis zu kompletieren gruß |
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
@litsa,
Zitat:
Zitat:
@BassFan,
Delphi-Quellcode:
Diese Codestelle ist in deinem Projekt oder in der BassDLLPlayer.pas ?
Self.Name := BassChannel.Name;
Ich kann die Stelle nicht finden. |
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
Zitat:
BassPlayerEx Quelltext Grüße EDIT: Sorry hab das wohl mit TBassDLLPlayer verwechselt |
Re: [Komponente] Bass Player Komponente: TBassDLLPlayer (+De
Kommt eine Fehlermeldung etc. ?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:14 Uhr. |
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